gpt4 book ai didi

log4j - 为什么我们在 log4j.xml 中需要 root 和 logger

转载 作者:行者123 更新时间:2023-12-03 10:56:50 27 4
gpt4 key购买 nike

如果问题太琐碎,请原谅。我对 log4j 完全陌生。我已经看到有两个标签和标签,它们指的是各种附加程序。
假设我想将代码库中的信息记录在一个文件中,将其发送到我的电子邮件并将其打印到控制台。我希望将级别设置为信息。有一个引用三个 appender 的标签是不够的?(文件、电子邮件和控制台)为什么我们需要另一个相同的标签?

最佳答案

就够了。

在 log4j 中,记录器与包或有时与特定类相关联。记录器的包/类由属性“名称”定义。记录器在其包以及所有子包及其类中记录消息。唯一的异常(exception)是记录应用程序中所有类的消息的根记录器。

记录器也有级别,并且可能有一个或多个附加器(记录目标)附加到它。

在下一个示例中,我们有两个记录器:

  • 将所有包中级别为 INFO 或更高级别的消息记录到各种目的地的根记录器:控制台、电子邮件和文件,
  • “com.foo”记录器,用于将包“com.foo”及其子包中级别为 WARN 或更高级别的消息记录到另一个文件中。
    <log4j:configuration>
    <!-- Declaration of appenders FILE, MAIL, CONSOLE and ANOTHERFILE -->
    ...
    <!-- -->

    <logger name="com.foo">
    <level value="warn"/>
    <appender-ref ref="ANOTHERFILE" />
    </logger>
    <root>
    <priority value ="info" />
    <appender-ref ref="FILE" />
    <appender-ref ref="MAIL" />
    <appender-ref ref="CONSOLE" />
    </root>
    </log4j:configuration>

  • 您应该 read more关于 log4j 基础知识。

    关于log4j - 为什么我们在 log4j.xml 中需要 root 和 logger,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12861104/

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