首页 文章

log4j2的文件追加器在独立的tomcat中不起作用

提问于
浏览
0

我使用spring-boot,log4j2和tomcat遇到了问题 .

我有一个log4j2 xml配置文件用于日志记录,有2个appender,一个控制台和一个文件追加器 .

问题是,每当我使用Application类的main方法运行应用程序时,一切正常,但是当我构建应用程序的war文件并将其部署到独立的tomcat时,文件appender不起作用 .

实际上会发生的事情是控制台appender正常工作[日志在控制台中打印]并且创建了log4j2配置文件中指定的文件,但它仍然是空的 .

这是log4j2配置文件:

<Properties>
    <Property name="LOG_PATTERN">
        %d{yyyy-MM-dd HH:mm:ss} %5p ${hostName} --- [%15.15t] %-40.40c{1.} %L : %m%n%ex
    </Property>
    <Property name="LOG_PATH">
        <!-- <absolute_path_to_log_file_directory> -->
    </Property>
</Properties>

<Appenders>
    <Console name="ConsoleAppender" target="SYSTEM_OUT">
        <PatternLayout pattern="${LOG_PATTERN}"/>
    </Console>

    <RollingFile name="FileAppender"
                 fileName="${LOG_PATH}/mylogfile.log"
                 filePattern="${LOG_PATH}/mylogfile-%d{yyyy-MM-dd}-%i.log">
        <PatternLayout>
            <Pattern>${LOG_PATTERN}</Pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy interval="1" />
        </Policies>
    </RollingFile>
</Appenders>

<Loggers>
    <Logger name="my.package.name" level="debug" additivity="false">
        <AppenderRef ref="FileAppender" />
        <AppenderRef ref="ConsoleAppender" />
    </Logger>


    <Root level="info">
        <AppenderRef ref="ConsoleAppender" />
        <AppenderRef ref="FileAppender" />
    </Root>
</Loggers>

对此事的任何帮助表示赞赏 .

1 回答

  • -2

    你可以将下面的tomcat启动添加到你的catalina opts中

    -Dlogging.config=<<external-folder>>\log4j2.xml
    

相关问题