Web環境でlog4jを無効にする方法を教えてください。コードに影響を与えずに本番環境で、コードからロギングメカニズムを無効にする方法は?
4 に答える
log4j.properties ファイルを変更する必要があります。それができない場合は、slf4j プロジェクトを使用して、log4j 呼び出しを slf4j に入れることができます。これにより、必要なロギング バックエンドを使用するように指定できます。ほとんどのコンテナが処理する標準ロギングに入る slf4j-jdk14、または slf4j をサイレントにする slf4j-nop のいずれかです。
log4j に XML 構成を使用する場合、「ホット」な構成変更のサポートを有効にすることができます。たとえば、10 秒ごとに構成の変更をポーリングするには、次のように構成を読み込みます。
DOMConfigurator.configureAndWatch("log4j.xml", 10000);
このようにして、コードを変更したり、アプリケーションを再起動したりすることなく、ログ レベルを変更できます。
おそらく log4j.properties ファイルがあり、レポート レベルもあります。現在のレベルが であるERROR
か、そうでない場合は、レポートが書き込まれないOFF
ので、 : に変更する必要があります。OFF
許可されているさまざまなレポート レベルへのリンクを次に示します。
ロギングを完全に無効にすることは、慎重に検討する必要があります。より良いオプションは、log4j.properties のパッケージ レベルでログ レベルを非アクティブ化/変更することです。
# Print only messages of level WARN or above in the package com.foo.
log4j.logger.com.foo=WARN