我使用log4j(通过slf4j),我喜欢从某些包中输出文件名和行号的日志,但对于其他人我只需要级别和消息。有没有办法实现这个目标?是否可以使用log4j2.properties文件为不同的类/包特定不同的layout.ConversionPattern?
答案 0 :(得分:1)
您可以使用多个相同类型的appender:
以下是一个例子:
<Appenders>
<Console name="ConsoleA" target="SYSTEM_OUT">
<PatternLayout pattern=="%-4r [%t] %-5p %c %x - %m%n" />
</Console>
<Console name="ConsoleB" target="SYSTEM_OUT">
<PatternLayout pattern=="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
</Console>
</Appenders>
<Loggers>
<Logger name="com.foo.BarA" level="trace">
<AppenderRef ref="ConsoleA"/>
</Logger>
<Logger name="com.foo.BarB" level="trace">
<AppenderRef ref="ConsoleB"/>
</Logger>
</Loggers>
了解详情