簡體   English   中英

Log4j同一日志文件的多個Webapp版本

[英]Log4j same log file multiple webapp versions

我有一個webapp兩次部署到tomcat服務器(它具有不同的版本,比如1.0和2.0)。 該Web應用程序已配置了log4j。 log4j的jar文件位於webapp的WEB-INF / lib文件夾中,而logger的屬性文件是從外部配置路徑讀取的。 我希望這兩個Web應用程序都將信息記錄在同一個.log文件中,但是實際上發生的是只有一個(1.0或2.0)正在登錄到指定文件,而另一個沒有任何記錄。 我有點相信這是因為在webapp初始化期間如何初始化log4j,但我不確定如何將1.0和2.0登錄到同一文件中。 有任何想法嗎? 這是我的屬性文件:

log4j.rootLogger=DEBUG, FILE

log4j.additivity.ApplicationLog=false

log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %x [%p] [%C{1}.%M] %m%n

log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=/external/path/myLogFile.log
log4j.appender.FILE.MaxFileSize=50000KB
log4j.appender.FILE.MaxBackupIndex=10
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss,SSS} %x [%p] [%C{1}.%M] %m%n

LE:使用tomcat 7

LE2:可能是由於rollingFileAppender。 第二個應用程序似乎繼續寫入.log.1文件,而第一個應用程序寫入新的.log文件。

為此,Log4j支持SocketAppender( https://logging.apache.org/log4j/1.2/faq.html#a3.3 )。 您可以將兩個版本的應用程序日志都記錄到SocketAppender中,並配置SimpleSocketServer來接收信息並將日志條目寫入磁盤。

請參閱log4j:如何使用SocketAppender? 舉個例子

也許您應該嘗試刪除不需要的依賴項maven exclude(logger)?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM