【发布时间】:2017-03-28 13:38:48
【问题描述】:
我有一个 web 应用程序,我两次部署到 tomcat 服务器(它有不同的版本,比如说 1.0 和 2.0)。这个 webapp 配置了 log4j。 log4j 的 jar 文件位于 webapp 的 WEB-INF/lib 文件夹中,而记录器的属性文件是从外部配置路径中读取的。 我希望两个 webapp 都将信息记录在同一个 .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 文件
【问题讨论】: