WebSphere:Spring 应用程序生成日志文件但未写入日志文件

时间:2021-02-16 06:36:52

标签: java spring logging log4j websphere

在将 Spring 应用程序部署到 WebSphere 时,我遇到了日志记录问题。我将 Spring 4.1.6 用于以下依赖项:

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
            <version>${spring.version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
            <version>${spring.version}</version>
        </dependency>

对于日志记录,我使用以下内容:

        <dependency>
            <groupId>commons-logging</groupId>
            <artifactId>commons-logging</artifactId>
            <version>1.0.4</version>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.14</version>
        </dependency>

在我的 web.xml 中,我已配置为从外部 *.properties 文件读取 log4j 配置:

<!-- context params -->
    
    <context-param>
        <param-name>log4jConfigLocation</param-name>
        <param-value>file:${APP_CFG}/test-api/log4j.properties</param-value>
    </context-param>

    
    <!-- listeners -->
    <listener>
        <listener-class>org.springframework.web.util.Log4jConfigListener</listener-class>
    </listener>

我向 WebSphere“APP_CFG”添加了一个环境变量以指向我存储 log4j.properties 文件的目录。

log4j.properties 的内容如下:

log4j.rootLogger=DEBUG, stdout, logfile

log4j.logger.com.test=DEBUG, stdout, logfile
log4j.additivity.com.test=false

log4j.logger.org.springframework=DEBUG, logfile
log4j.additivity.org.springframework=false

log4j.logger.org.springframework.security=DEBUG, logfile
log4j.additivity.springframework.security =false
log4j.logger.org.springframework.jdbc.core.StatementCreatorUtils=TRACE

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.DailyRollingFileAppender
log4j.appender.logfile.File=D:/var/log/app/test-app/test-app.log
log4j.appender.logfile.DatePattern='.'yyyy-MM-dd
log4j.appender.logfile.layout=org.apache.log4j.PatternLayout
log4j.appender.logfile.layout.ConversionPattern=%d %p [%c] - %m%n

当服务器启动时,会创建日志文件,但没有写入任何内容,它始终保持为空,知道在其他环境(Tomcat、JBoss 等...)上,同一应用程序的日志记录正在正常进行,并且日志文件按预期填充。

请告知可能导致问题的原因。也许缺少特定于 WebSphere 的配置?

先谢谢你, 问候,

0 个答案:

没有答案