在我的Struts项目中,我使用了记录器。我在调试模式下运行我的WSAD服务器。这里,下面的条件是满足的,但是它没有在控制台中打印日志信息。
if(count.intValue() > 1)
{
if (log.isDebugEnabled())
log.info("many");
return mapping.findForward("many");
}在这里我将我的记录器级别设置为INFO。
发布于 2012-04-27 15:33:31
“较低”日志记录级别包括所有“较高”级别:
ERROR > WARN > INFO > DEBUG
highest ------------ lowest这意味着,例如,当您将级别设置为DEBUG时,您还将获得INFO、WARN和ERROR消息;如果您将其设置为INFO,您将看到ERROR、WARN和INFO,但不会看到DEBUG消息等。
看看下面这几行:
if (log.isDebugEnabled())
log.info("many");这里令人困惑的是,您测试调试级别是否处于活动状态(使用isDebugEnabled),但实际上是在INFO级别登录。
那么,如果级别设置为:
调试级别:您将看到消息,因为DEBUG includes messages.
isDebugEnabled将返回false。这意味着if中的语句不会执行,您也看不到该消息。发布于 2012-04-26 22:27:59
正如Jesper所说,只有当日志级别至少设置为DEBUG时,isDebugEnabled才会返回true,因此请取消该检查或将日志级别设置为DEBUG。DEBUG级别包括INFO,但INFO不包括DEBUG。
https://stackoverflow.com/questions/10333663
复制相似问题