2011-01-05 7 views
5

Come si elimina il file server.log di JBoss quando JBoss è in esecuzione? Quando provo a fareCome cancellare server.log in JBoss?

echo 1 > server.log 

ottengo msg di errore che il file è in uso da un altro programma (JBoss). È possibile utilizzare uno strumento da riga di comando (windows o linux (io ho CygWin) o un'applicazione che posso scrivere per cancellare quel file?

P.S. Non ho bisogno di quel file per avere 0kb, ma voglio che abbia meno di 100MB.

risposta

3

Per impostazione predefinita, JBoss mantiene il file bloccato, poiché sta scrivendo messaggi di registro in esso. È bloccato fintanto che JBoss è in esecuzione e non conosco altro modo per rilasciarlo che arrestare JBoss stesso.

Per mantenere le sue dimensioni sotto controllo, è possibile modificare la configurazione del registro, che per impostazione predefinita è <server>/conf˛jboss-log4j.xml. È possibile specificare la dimensione massima di un file di registro e definire cosa fare quando viene raggiunta tale dimensione: passare a un nuovo file, troncare quello esistente e iniziare nuovamente a scrivere su di esso, ecc.

Un esempio di base (non testato, in modo da alcuna garanzia che funziona direttamente come è):

<appender name="ROLL" class="org.apache.log4j.rolling.RollingFileAppender"> 
      ... 
      <param name="maxFileSize" value="100MB" /> 
      ... 
    </appender> 

Inoltre, con il parametro maxBackupIndex è possibile definire il numero di file di backup (di default è 1).

1

JBoss blocca il file finché il processo di registrazione è in esecuzione.

Se è stata abilitata la console JMX, è possibile interrompere la registrazione, eliminare/modificare il registro e riavviare il servizio di registrazione.

L'URL dovrebbe essere simile a questo (per log4j):

http://jboss.example.com:8080/jmx-console/HtmlAdaptor?action=inspectMBean&name=jboss.system%3Atype%3DLog4jService%2Cservice%3DLogging

Ho provato questo con JBoss 5.

Questa soluzione dovrebbe essere script pure.

Riguardo al problema delle dimensioni del file di registro: è necessario utilizzare un approccio di configurazione anziché modificare manualmente il file di registro.