Strutsプロジェクトでは、ロガーを使用しています。WSADサーバーをデバッグモードで実行しています。ここでは、以下の条件は満たされていますが、コンソールにログ情報が出力されていません。
if(count.intValue() > 1)
{
if (log.isDebugEnabled())
log.info("many");
return mapping.findForward("many");
}
ここでは、ロガーレベルをINFOに設定しました。
「より低い」ロギングレベルには、すべての「より高い」レベルが含まれます。
ERROR > WARN > INFO > DEBUG
highest ------------ lowest
つまり、たとえば、レベルをDEBUGに設定すると、INFO、WARN、およびERRORメッセージも表示されます。INFOに設定すると、ERROR、WARN、INFOは表示されますが、DEBUGメッセージなどは表示されません。
これらの行を見てください:
if (log.isDebugEnabled())
log.info("many");
ここで紛らわしいのは、DEBUGレベルがアクティブ(でisDebugEnabled)であるかどうかをテストしますが、実際にはINFOレベルでログに記録することです。
したがって、レベルが次のように設定されている場合、ここで何が起こりますか。
isDebugEnabledfalseifJesperが言っisDebugEnabledたように、ログレベルが少なくともに設定されている場合にのみtrueが返されるDEBUGので、そのチェックを削除するか、ログレベルをに設定しますDEBUG。DEBUGレベルにはが含まれますが、は含まれINFOませINFOんDEBUG。