0

(可能是同时发生的)但是这个问题是在我们从 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

有没有人遇到过这个问题?

4

1 回答 1

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>

这适用于耳朵文件。对于战争,你需要一个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>
于 2012-08-17T13:27:28.530 回答