log4j2没有使用rollingFile appender写入日志文件

时间:2016-05-03 06:16:23

标签: xml log4j2

嗨,我是新手使用log4j

我正在尝试配置xml以使用和appender将日志记录发送到日志文件中,好吧,appender工作正常所以我想使用appender以便它每天清除日志文件,但是当它第一次创建时日志文件,它不会将任何日志消息写入由创建的文件中,所以我来这里得到一些建议

<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="FATAL" >

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

    <RollingFile name="rollingfile" fileName="rolling.log"
    filePattern="rolling-%d{MM-dd-yyyy}.log">
        <PatternLayout pattern="${pattern}" />
        <Policies>
              <TimeBasedTriggeringPolicy interval="1" modulate="true" />
              <SizeBasedTriggeringPolicy size="10 MB" />
        </Policies>
    </RollingFile>

    <File name="file" fileName="test2.log">
        <PatternLayout pattern="${pattern}" />
    </File>     

</Appenders>


<Loggers>   
    <Root level="trace" >
        <AppenderRef ref="Console" />
        <AppenderRef ref="rollingfile" />
        <AppenderRef ref="file" />
    </Root>
</Loggers>
</Configuration>

1 个答案:

答案 0 :(得分:0)

你有AppenderRef="rolling",但你的Appender被命名为“rollingfile”。这些需要匹配。

此外,log4j可能会发出警告,指出配置存在问题。我建议您在配置开头指定<Configuration status="WARN" >而不是FATAL,以便您可以看到这些警告。

可能需要指定${sys:pattern}来读取系统属性。而不是${pattern}变量,首先尝试像%d %p [%t] %m%n这样的显式模式。