如何解决不同的日志到不同的文件
我的目标:
要实现所有自定义的内置记录器到同一程序包中的不同文件。
- 信息-信息日志文件
- 调试-调试日志文件
- perf-perf日志文件-自定义一个
我尝试过的事情:
<?xml version="1.0" encoding="UTF-8"?>
<Configuration status="WARN">
<Appenders>
<Console name="Console" target="SYSTEM_OUT">
<PatternLayout
pattern="%d{HH:mm:ss.SSS} [%t] %-5level %c{36} - %msg%n" />
</Console>
<RollingFile name="RollingDebugFile"
fileName="logs/application-debug.log"
filePattern="logs/application-debug%d{yyyy-MM-dd-HH-mm}.log"
append="true">
<Filters>
<ThresholdFilter level="DEBUG" />
<ThresholdFilter level="INFO" onMatch="DENY"
onMismatch="NEUTRAL" />
</Filters>
<PatternLayout>
<Pattern>%d{HH:mm:ss.SSS} [%t] %-5level %c{36} %l: %msg%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1"
modulate="true" />
</Policies>
</RollingFile>
<RollingFile name="RollingInfoFile"
fileName="logs/application-info.log"
filePattern="logs/application-info%d{yyyy-MM-dd-HH-mm}.log"
append="true">
<Filters>
<ThresholdFilter level="INFO" />
<ThresholdFilter level="WARN" onMatch="DENY"
onMismatch="NEUTRAL" />
</Filters>
<PatternLayout>
<Pattern>%d{HH:mm:ss.SSS} [%t] %-5level %c{36} %l: %msg%n</Pattern>
</PatternLayout>
<Policies>
<TimeBasedTriggeringPolicy interval="1"
modulate="true" />
</Policies>
</RollingFile>
</Appenders>
<Loggers>
<Logger name="testlog4j2" additivity="false">
<AppenderRef ref="RollingDebugFile" level="debug" />
<AppenderRef ref="Console" />
</Logger>
<Logger name="testlog4j2" additivity="false">
<AppenderRef ref="RollingInfoFile" level="info" />
<AppenderRef ref="Console" />
</Logger>
<Root level="ALL">
<AppenderRef ref="Console" />
</Root>
</Loggers>
</Configuration>
这里是问题:
记录器名称相同。因此,最新的记录器仅适用。信息有效,但在这种情况下也无法调试。
我的疑问:
我提到了很多帖子。我认为以下情况有效。
- 使每个人都成为here所述的自定义记录器。但是我确定这是否是正确的解决方案?
- 关于log4j2.xml文件,我是否使用正确的方法?我是新手,因此请提供任何建议。
解决方法
深入研究这一点之后,我发现必须使用以下内容。否则记录器将被覆盖
<Logger name="testlog4j2" additivity="false">
<AppenderRef ref="RollingDebugFile" level="debug" />
<AppenderRef ref="RollingInfoFile" level="info" />
<AppenderRef ref="RollingWarnFile" level="warn" />
<AppenderRef ref="Console" />
</Logger>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。