日志信息不在控制台上打印

Mdh*_*r9e 1 java logging

在我的Struts项目中,我正在使用Loggers.我在调试模式下运行我的WSAD服务器.这里下面的条件令人满意,但它不是在控制台中打印日志信息.

if(count.intValue() > 1)
{
    if (log.isDebugEnabled())
        log.info("many");

    return mapping.findForward("many");
}
Run Code Online (Sandbox Code Playgroud)

在这里,我将Logger级别设置为INFO.

Jes*_*per 6

"较低"的日志记录级别包括所有"较高"级别:

ERROR > WARN > INFO > DEBUG
highest ------------ lowest
Run Code Online (Sandbox Code Playgroud)

这意味着,例如,当您将级别设置为DEBUG时,您还将获得INFO,WARN和ERROR消息; 如果将其设置为INFO,您将看到ERROR,WARN和INFO,但不会看到DEBUG消息等.

看看这些线:

if (log.isDebugEnabled())
    log.info("many");
Run Code Online (Sandbox Code Playgroud)

这里令人困惑的是,您测试DEBUG级别是否处于活动状态(带isDebugEnabled),但实际上您是否登录到INFO级别.

那么,如果级别设置为:

  • DEBUG:你会看到这条消息,因为DEBUG包含INFO消息.
  • 信息:你将不会看到消息,因为isDebugEnabled回报率false在级别设置为任何高于Debug的.这意味着内部的语句if没有执行,你没有看到消息.