2010-02-08 16 views
8

Wir müssen die JBoss-Protokolldateien in unserer Webanwendung anzeigen. Ist es möglich, dies ohne ServerConfigLocator zu erreichen? Die Anwendung muss in der Lage sein, auch mit Websphere zu laufen, und wir wollen keine Abhängigkeiten von bestimmten JARs.So erhalten Sie das JBoss-Protokollverzeichnis

Antwort

12

Das definierte Protokollverzeichnis von JBoss wird in der Systemeigenschaft jboss.server.log.dir gespeichert. Sie können dieses Verzeichnis auf java.io.File auflösen und die darin enthaltenen Dateien lesen.

File logDir = new File(System.getProperty("jboss.server.log.dir")); 
logDir.list(); // etc etc 

Sie können dies auch durch ServerConfig.getServerLogDir() (auf JBoss 4.x, sowieso), aber Sie sagen, Sie JAR-Abhängigkeiten vermeiden wollen.

1

Sie könnten eine benutzerdefinierte Protokollimplementierung verwenden. Dies würde Ihnen vollständige Kontrolle über das Protokollierungsverhalten geben.

JBoss verwendet Log4j als Protokollierungsmechanismus. WebSphere verwendet Jakarta Commons Logging, das so konfiguriert werden kann, dass es an Log4j delegiert wird, wenn es nicht bereits der Standard ist. Wenn Sie Log4j bereits in Ihrer Anwendung verwenden, erwarte ich nicht, dass dieser Unterschied Ihnen neue Probleme bereiten wird.

Verwandte Themen