使用log4j2时,是否有一种方法可以使用不同的图案为不同的软件包



我正在使用log4j(通过slf4j(,我希望从某些软件包到输出文件名和行号的日志,但对于其他包装,我只需要级别和消息。有办法实现这一目标吗?使用log4j2.properties File?

您可以使用多个相同类型的应用程序:

这是一个示例:

<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配置手册上阅读更多信息

最新更新