当log4j2.xml位于jar外部时,日志文件为空

时间:2018-11-27 14:14:38

标签: java logging log4j2

当jar中的log4j2.xml位于资源中时,一切正常。但是,当我将log4j2.xml移到jar之外时,会创建日志文件,但是它一直都是空的。我以这种方式运行我的应用程序:

java.exe -Dfile.encoding=UTF-8 -Dlog4j.configurationFile=C:\config\log4j2.xml -jar C:\app\myApp.jar

这是我的log4j2.xml文件:

<Configuration status="WARN" monitorInterval="30">
<Properties>
    <Property name="LOG_PATTERN">
        %d{yyyy-MM-dd HH:mm:ss.SSS} %5p ${hostName} --- [%15.15t] %-40.40c{1.} : %m%n%ex
    </Property>
</Properties>
<Appenders>
    <Console name="ConsoleAppender" target="SYSTEM_OUT" follow="true">
        <PatternLayout pattern="${LOG_PATTERN}"/>
    </Console>

    <!-- Rolling File Appender -->
    <RollingFile name="FileAppender" fileName="logs/application.log"
                 filePattern="logs/application-%d{yyyy-MM-dd}-%i.log">
        <PatternLayout>
            <Pattern>${LOG_PATTERN}</Pattern>
        </PatternLayout>
        <Policies>
            <TimeBasedTriggeringPolicy interval="1" modulate="true"/>
        </Policies>
        <DefaultRolloverStrategy max="5"/>
    </RollingFile>

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

1 个答案:

答案 0 :(得分:0)

尝试使用URI:file://c:/config/log4j2.xml