java - Log4j 2 - 停用流口水记录器

标签 java logging drools jbpm log4j2

我正在使用Log4j 2我尝试更改 jBPM/Drools 的日志记录级别失败,将其作为引用。保持记录的 drools 类是 ExtensibleXmlParser

<?xml version="1.0" encoding="UTF-8"?>
<Configuration>
    <Appenders>
        <Console name="Console" target="SYSTEM_OUT">
            <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n" />
        </Console>
    </Appenders>
    <Loggers>
        <Root level="debug">
            <AppenderRef ref="Console" />
        </Root>
        <Logger name="org.drools.core.xml.ExtensibleXmlParser" level="off">
            <AppenderRef ref="Console" />
        </Logger>
    </Loggers>
</Configuration>

如果我没记错的话,ExtensibleXmlParser 使用 slf4j 并且 Log4j 与 sl4j 兼容。

为什么这个 Log4j 配置不起作用?有人可以给我提供一个工作配置吗?我应该单独配置 jBPM/Drools 记录器吗?

最佳答案

当 log4j 似乎忽略您对 log4j.properties/xml 文件的调整时,通常意味着您没有摆弄正确的文件。您的类路径中可能还有另一个配置文件,该文件较早被发现并被考虑在内。

在整个类路径中搜索 log4j* 模式并查看结果(包括 .jar 文件和应用程序服务器/lib 和/ext 文件夹的内容(如果有))。

If I get it right, ExtensibleXmlParser uses slf4j and Log4j is compatible with sl4j.

“兼容”不等同于“配置为使用”。 SLF4J 通过 org.slf4j.impl.StaticLoggerBinder 类插入适当的日志框架。搜索类路径(最好在您的 IDE 中)以查看该类附带的库。如果没有这样的类,则 SLF4J 不会记录任何内容。

关于java - Log4j 2 - 停用流口水记录器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29299189/

相关文章:

java - 在 HashMap 中使用 ComputeIfAbsent

java - JApplets 和调用paint/paintComponent 的问题

javascript - winston 的字符串插值在 Nodejs 中不起作用

python - 在 manage.py 测试期间禁用日志记录?

java - 我可以提高此 OptaPlanner Drools 文件的效率吗?

java - 如何使用 JAVAFX 图表在图表上绘制多轴

java - 对 Java 8 Comparator 类型推断非常困惑

java - 如何找到 slf4j 绑定(bind)到的库?

java - 流口水的其他情况

java - 使用 Drools Expert 开发专家系统的想法