2011-01-05 9 views
5

Wie lösche ich JBoss 'server.log-Datei, wenn JBoss läuft? Wenn ich versuche,Wie lösche Server.log in JBoss?

echo 1 > server.log 

zu tun, erhalte ich Fehler msg, dass die Datei von einem anderen Programm verwendet wird (JBoss). Ist es möglich, ein Befehlszeilenprogramm (Windows oder linux (ich habe CygWin)) oder eine Anwendung, die ich selbst schreiben, um diese Datei löschen?

P.S. Ich brauche diese Datei nicht, um 0kb zu haben, aber ich will, dass es weniger als 100MB hat.

Antwort

3

Standardmäßig hält JBoss die Datei gesperrt, da sie Protokollnachrichten in sie schreibt. Es ist gesperrt, solange JBoss läuft, und ich weiß nicht, wie ich es anders veröffentlichen kann, als JBoss selbst anzuhalten.

Um die Größe unter Kontrolle zu halten, können Sie Ihre Protokollkonfiguration ändern, die standardmäßig in <server>/conf˛jboss-log4j.xml ist. Sie können die maximale Größe einer Protokolldatei angeben und definieren, was zu tun ist, wenn diese Größe erreicht ist: Übergehen Sie eine neue Datei, schneiden Sie die vorhandene Datei ab und schreiben Sie sie erneut.

Ein einfaches Beispiel (nicht getestet, so dass keine Garantie dafür, dass es gerade wie es ist) funktioniert:

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

Darüber hinaus mit den maxBackupIndex Parametern können definieren Sie die Anzahl der Backup-Dateien (Standard: 1).

1

JBoss sperrt die Datei, solange der Protokollierungsprozess läuft.

Wenn Sie die JMX-Konsole aktiviert haben, können Sie die Protokollierung stoppen, das Protokoll löschen/ändern und den Protokollierungsdienst erneut starten.

Die URL sollte wie folgt aussehen (für log4j):

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

Getestet habe ich diese mit JBoss 5.

Diese Lösung als auch skriptfähig sein sollte.

In Bezug auf das Problem mit der Protokolldateigröße: Sie sollten einen Konfigurationsansatz verwenden, anstatt die Protokolldatei manuell zu bearbeiten.