【发布时间】:2016-06-09 15:08:23
【问题描述】:
我需要为不同的标记使用不同的日志格式。两个日志属于相同的日志级别(错误)并且将记录在同一个文件中。 谁能告诉我什么应该是理想的方式来做到这一点。使用的记录器是 log4j。
我现在唯一的解决方案是使用不同的附加程序来获取不同的格式。这有什么我不知道的副作用吗?
<Configuration status="warn" name="MyApp" packages="">
<Appenders>
<RollingFile name="RollingFile1" fileName="logs/app.log"
filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
<MarkerFilter marker="MARKERONE" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
<RollingFile name="RollingFile2" fileName="logs/app.log"
filePattern="logs/app-%d{MM-dd-yyyy}.log.gz">
<MarkerFilter marker="MARKERTWO" onMatch="ACCEPT" onMismatch="DENY"/>
<PatternLayout>
<pattern>%d %p %c{1.} [%t] %m%n</pattern>
</PatternLayout>
<TimeBasedTriggeringPolicy />
</RollingFile>
</Appenders>
<Loggers>
<Root level="error">
<AppenderRef ref="RollingFile1"/>
<AppenderRef ref="RollingFile2"/>
</Root>
</Loggers>
</Configuration>
【问题讨论】: