(可能是共同发生的)但是在我们从Ant版本切换到Maven之后会出现这个问题。
(服务器是Weblogic 10.3.5)
我们有几个应用程序,每个应用程序都有自己的log4j.properties,每个应用程序都登录到自己的app.log。但是,在Maven构建之后,所有应用程序都将登录到一个日志文件中。我们部署的第一个应用程序似乎优先,而log4j只是写入该文件。
在Maven设置中,log4j.properties
位于src/main/resources
下。以下是我们log4j.properties
之一的一个例子:
log4j.rootLogger=INFO, stdout, logfile
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - <%m>%n
log4j.appender.logfile=org.apache.log4j.RollingFileAppender
log4j.appender.logfile.File=logs/stat-calc.log
log4j.appender.logfile.MaxFileSize=4096KB
log4j.appender.logfile.MaxBackupIndex=7
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n
有没有人遇到过这个问题?
答案 0 :(得分:0)
这可能是WebLogic类加载问题。我们过去通过添加META-INF/weblogic-application.xml
文件来解决这个问题,其格式如下:
<?xml version='1.0' encoding='UTF-8'?>
<weblogic-application xmlns="http://www.bea.com/ns/weblogic/100"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<prefer-application-packages>
<package-name>org.apache.log4j.*</package-name>
</prefer-application-packages>
</weblogic-application>
这适用于ear文件。对于战争,你需要一个WEB-INF/weblogic.xml
:
<weblogic-web-app xmlns="http://www.bea.com/ns/weblogic/weblogic-web-app">
<container-descriptor>
<prefer-web-inf-classes>true</prefer-web-inf-classes>
</container-descriptor>
</weblogic-web-app>