在我的Struts项目中,我正在使用Loggers。我在调试模式下运行我的WSAD服务器。这里下面的条件令人满意,但它不是在控制台中打印日志信息。
if(count.intValue() > 1)
{
if (log.isDebugEnabled())
log.info("many");
return mapping.findForward("many");
}
这里我将记录器级别设置为INFO。
答案 0 :(得分:5)
“较低”的日志记录级别包括所有“更高”级别:
ERROR > WARN > INFO > DEBUG
highest ------------ lowest
这意味着,例如,当您将级别设置为DEBUG时,您还将获得INFO,WARN和ERROR消息;如果将其设置为INFO,您将看到ERROR,WARN和INFO,但不会看到DEBUG消息等。
看看以下几行:
if (log.isDebugEnabled())
log.info("many");
这里令人困惑的是,您测试DEBUG级别是否处于活动状态(使用isDebugEnabled
),但您实际登录的是INFO级别。
所以,如果级别设置为:
,会发生什么isDebugEnabled
在级别设置为高于DEBUG的任何值时返回false
。这意味着if
内的语句未执行,您也看不到该消息。答案 1 :(得分:0)
正如Jesper所说,isDebugEnabled
只会在日志级别至少设置为DEBUG
时返回true,因此请删除该检查或将日志级别设置为DEBUG
。 DEBUG
级别包含INFO
,但INFO
不包含DEBUG
。