当前位置: 首页 > 知识库问答 >
问题:

如何在logger xml标记中禁用appender refs中log4j2.xml可加性

冯枫涟
2023-03-14

在发布这个问题之前,我已经做了我的研究,关于我没有正确使用additivity属性的问题,下面是我的log4j2.xml的一个片段,我试图实现的是,在记录器中定义的每个appender ref应该只附加它所定义级别的日志,但是所有的appender都附加了所有日志消息,而不管日志级别如何,因此,例如,调试记录器仍然得到了我不想要的错误消息。如有任何投入,将不胜感激。

<Logger name="com.mycompnay" level="INFO" additivity="false">

    <AppenderRef ref="CoreInfo" level="INFO"/>
    <AppenderRef ref="CoreDebug" level="DEBUG"/>
    <AppenderRef ref="CoreWarning" level="WARNING"/>
    <AppenderRef ref="CoreError" level="ERROR"/>

</Logger>

共有1个答案

顾英发
2023-03-14

我找到了解决方案,不是在appender ref上设置日志级别,而是在appender声明中执行类似的操作,以确保它只记录调试消息,您可以将这些消息更改为您想要的任何日志级别。花了一段时间才找到这个!

 类似资料:
  • 我试图用xml2js构建一个XML节点。当我添加包装在cdata中的html标签时,它会创建一个单独的节点,如下所示。如果我把CDATA包在里面"

  • 如何在JMeter 4.0中禁用日志记录。在执行任何JMeter脚本时,都需要根据定义的日志级别生成日志。 log4j2 中的配置应该是什么.xml,以便它不会生成任何日志?

  • 我在应用程序中使用Log4JV2.0Beta3进行日志记录,并且在运行单元测试时生成日志消息。我检查了API以确定将日志级别设置为关键级别的方法,但我找不到任何方法来更改日志程序配置。 事实上,我是在log4j2网站上读到的:

  • 我正在使用logback。设置日志环境的xml文件。这里我有两个附加器,一个用于控制台,另一个用于文件。控制台appender将始终打印值,但需要时需要打开文件appender。 以下是我的配置,其中两个追加器STDOUT和文件以及两者都被添加根。我想要控制文件追加器日志,并且当我将级别值从OFF更改为其他值时,只有它应该工作。目前,如果更改级别 OFF,则停止两个追加器,并且无法在控制台上看到任

  • 问题内容: 我已经将格式良好的xml文档转换为字符串变量。我想使用preg_replace向每个xml标签添加定义的属性。 例如替换: 通过: 因此,我基本上需要regex表达式来查找任何开始标记并添加我的属性,但是我是一个完整的regex新手。 问题答案: 不要在XML上使用正则表达式。Xml不是常规语言。请改用php的xml扩展名: 所有包含正则表达式的答案都将破坏此有效xml,例如:

  • 我一直在尝试新的Log4j2。从有关迁移的文档来看,XML模式/DTD规范似乎已被废除。 这似乎是倒退了一步。当然,应该可以将XML Schema或DTD与我的相关联,以帮助编写它并进行验证。我在留档中找不到任何有用的东西,也没有找到XML Schema或DTD本身。 那么:在Log4j2中,我应该如何将XML模式与Log4j2.XML相关联?