我想为信息日志和错误日志维护单独的日志文件。但是我不希望将错误日志写入信息日志文件,即,当level =“ info”时,我不希望将错误日志写入文件。
<RollingFile name="Filer" fileName="logs/info.log"
filePattern="logs/info-%d{yyyy-MM-dd}-%i.log">
<PatternLayout>
<Pattern>${PATTERN}</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" />
<SizeBasedTriggeringPolicy size="${SIZE}" />
</Policies>
<DefaultRolloverStrategy max="5" />
</RollingFile>
<RollingFile name="App" fileName="logs/error.log"
filePattern="logs/error-%d{yyyy-MM-dd}-%i.log">
<PatternLayout>
<Pattern>${PATTERN}</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1" />
<SizeBasedTriggeringPolicy size="${SIZE}" />
</Policies>
<DefaultRolloverStrategy max="5" />
</RollingFile>
<Loggers>
<Logger name="org.pro" level="info" additivity="false">
<AppenderRef ref="File" level="info" />
<AppenderRef ref="App" level="error" />
</Logger>
</Loggers>
<Root level="info" additivity="false">
<AppenderRef ref="FileAppender" />
</Root>
尽管我能够生成不同的日志文件。正确生成了error.log文件,仅包含错误日志。但是info.log包含信息和错误日志。
答案 0 :(得分:0)
您必须将<Loggers>
分开。
赞:
<Loggers>
<Logger name="org.pro" level="INFO" additivity="false">
<AppenderRef ref="Filer" />
</Logger>
<Logger name="org.pro" level="ERROR" additivity="false">
<AppenderRef ref="App" />
</Logger>
</Loggers>
以上将在logs/info.log
文件中记录INFO,在logs/error.log
文件中记录错误。