gpt4 book ai didi

log4j - 如何使用 log4j.xml 配置 log4j 以根据类名附加到不同的日志文件?

转载 作者:行者123 更新时间:2023-12-03 10:15:00 25 4
gpt4 key购买 nike

我想设置 log4j,以便从包 com.foo.bar 下的类生成的所有日志消息都转到 bar.log,而从包 com.bar.blatz 下的类生成的所有日志消息都转到 blatz.log。
问题

  • 如何使用 log4j.xml 执行此操作?
  • 我知道它可以使用属性文件,但是我如何使用 XML 配置来做到这一点?
  • 最佳答案

    这是基于我的 answer一个类似的问题:

    <!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
    <log4j:configuration xmlns:log4j="http://jakarta.apache.org/log4j/">
    <!-- general application log -->
    <appender name="BarLogFile" class="org.apache.log4j.FileAppender">
    <param name="File" value="bar.log" />
    <param name="Threshold" value="INFO" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%-5p %t [%-40.40c] %x - %m%n"/>
    </layout>
    </appender>

    <!-- additional fooSystem logging -->
    <appender name="BlatzLogFile" class="org.apache.log4j.FileAppender">
    <param name="File" value="blatz.log" />
    <layout class="org.apache.log4j.PatternLayout">
    <param name="ConversionPattern" value="%-5p %t [%-40.40c] %x - %m%n"/>
    </layout>
    </appender>

    <logger name="com.foo.bar">
    <appender-ref ref="BarLogFile"/>
    </logger>

    <logger name="com.bar.blatz">
    <appender-ref ref="BlatzLogFile"/>
    </logger>

    <root>
    <level value="INFO"/>
    <!-- no appender, output will be swallowed (I think) -->
    </root>
    </log4j:configuration>

    如果向根元素添加 appender-ref,它还会收到 com.foo.bar 等消息。您可以通过在记录器上指定 'additivity="false"' 来阻止它。

    关于log4j - 如何使用 log4j.xml 配置 log4j 以根据类名附加到不同的日志文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/880422/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com