使用 log4j2 时,有没有办法对不同的包使用不同的模式?
Is there a way to use different pattern for different packages when using log4j2?
我正在使用 log4j(通过 slf4j),我想要一些包的日志来输出文件名和行号,但对于其他包,我只需要级别和消息。有没有办法做到这一点?是否可以使用 log4j2.properties 文件为不同的 classes/packages 指定不同的 layout.ConversionPattern?
您可以使用多个相同类型的 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>
阅读更多内容
我正在使用 log4j(通过 slf4j),我想要一些包的日志来输出文件名和行号,但对于其他包,我只需要级别和消息。有没有办法做到这一点?是否可以使用 log4j2.properties 文件为不同的 classes/packages 指定不同的 layout.ConversionPattern?
您可以使用多个相同类型的 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>
阅读更多内容