【问题标题】:What is the result of making log4j additivity equals to true or false?使 log4j 可加性等于 true 或 false 的结果是什么?
【发布时间】:2014-05-06 16:35:03
【问题描述】:

简单来说,在为这样的特定类添加 Log4j 配置时,制作 additivity="true"additivity="false" 的结果是什么?

<Logger name="com.mypage.glass.TryWindow" level="INFO" additivity="true">
  <AppenderRef ref="console"/>
  <AppenderRef ref="file"/>
</Logger>

【问题讨论】:

    标签: java logging log4j


    【解决方案1】:

    默认情况下,记录器从其祖先继承附加程序。通过设置additivity="false",您可以防止这种行为。

    在您的示例中,可能存在与 com.mypage.glasscom.mypage 相关联的附加程序,或者如果您不将该属性设置为 false 甚至会继承根记录器。

    【讨论】:

    • 但是实际文件上会发生什么...意味着如果我将其设为真或假,文件或控制台上的输出日志会发生什么?
    • @user3433510 假设您的根记录器配置了 ConsoleAppender,以便所有 INFO 消息都打印到控制台。如果您有additivity="true"(默认),您的com.mypage.glass.TryWindow 记录器也将输出到控制台。如果你想防止这种情况,你可以设置additivity="false"。如果这些术语中的任何一个令人困惑,我建议您阅读short introduction to log4j
    • 添加一个属性“inheritAppenders”本来很简单...... THX!
    猜你喜欢
    • 2014-07-04
    • 2021-10-08
    • 1970-01-01
    • 2022-07-05
    • 2013-10-19
    • 1970-01-01
    • 2016-09-17
    • 1970-01-01
    • 2014-03-19
    相关资源
    最近更新 更多