如何使用log4j.xml

时间:2016-07-22 19:42:03

标签: log4j slf4j jawr

目前在我们的项目中,我们看到在我们的tomcat日志上打印了一些DEBUG语句,例如:

12:09:00.824 [localhost-startStop-1] DEBUG njwrhbAbstractResourceBundleHandler - 存储生成的包,其id为:/script/lib/itegration.dataTables.bootstrap.js 12:09:00.850 [localhost-startStop- 1] DEBUG njwrhbAbstractResourceBundleHandler - 存储生成的包,其id为:/script/lib/itegration.dataTables.bootstrap.js

我们已确定正在记录的调试语句是由于JAWR AbstractResourceBundleHandler.java类中的条件LOGGER.isDebugEnabled()始终为true而引起的。记录的代码片段如下:

if (LOGGER.isDebugEnabled()) {
    String msg = "Storing a generated "
            + (gzipFile ? "and gzipped" : "")
            + " bundle with an id of:" + bundleName;
    LOGGER.debug(msg);
}

正如您所看到的,LOGGER.isDebugEnabled()始终为true。有没有办法为此包/类/ jar配置日志记录级别?我们目前正在使用log4j作为我们的日志记录框架,并尝试将此软件包配置为仅记录INFO级别但是没有用。我们还将jawr.debug.on属性设置为false(jawr.debug.on = false)

我知道JAWR正在使用slf4j作为他们的记录器,并且有一种方法可以将slf4j桥接器用于我们已经配置的log4j,我们无法获得此程序包的日志记录级别配置。

有没有人知道将LOGGER.isDebugEnabled()设置为false的方法,以便这些DEBUG日志语句不会出现在我们的tomcat日志中?

我们使用log4j.xml而不是属性文件,并且如果可能的话,我们希望继续使用.xml配置。

谢谢

1 个答案:

答案 0 :(得分:0)

将此添加到我们的log4j.xml配置文件

<category name="net.jawr">
    <priority value="INFO" />
</category>

工作正常。