【问题标题】:Logging the log messages from different packages into different files将来自不同包的日志消息记录到不同的文件中
【发布时间】:2010-10-21 00:41:01
【问题描述】:

假设我的应用程序中有这些包 - foo.bar 和 foo.foobar,并且我想将来自 foo.bar 包的所有 log4j 日志消息发送到 foobar.log 文件以及来自 foo 的日志消息。 foob​​ar 到 foofoobar.log 文件,log4j.xml 文件应该如何配置?

【问题讨论】:

    标签: java logging log4j


    【解决方案1】:

    您可以在记录器配置中使用 appender-ref:

    <logger name="foo.bar">
        <level value="debug"/>
        <appender-ref ref="FILE1" />
    </logger>
    

    查看here 以获得完整示例。

    【讨论】:

      【解决方案2】:

      当您有重叠的层次结构并且不想要重复的日志消息时,我还建议将 additivty 设置为“false”。

      即:

      <logger name="foo.bar">
          <level value="debug"/>
          <appender-ref ref="FILE1" />
      </logger>
      <logger name="foo.bar.xyz" additivity="false">
          <level value="debug"/>
          <appender-ref ref="FILE2" />
      </logger>
      

      这样,定向到 FILE2 的消息不会被写入 FILE1

      【讨论】:

        【解决方案3】:

        我后来才想通,并将解释编译成一篇博文,这可能对正在阅读此页面的其他人有所帮助。

        How to send log messages to different log files

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-09-20
          • 1970-01-01
          • 2020-12-25
          • 1970-01-01
          • 1970-01-01
          • 2012-02-08
          相关资源
          最近更新 更多