JBoss 4.2.3 の Web アプリケーションで Apache Commons Exec を使用しています。Apache Exec を呼び出すたびに、すべてのコンソール出力がログに出力されます。これは大量の出力であり、運用環境でログを簡単に埋めることができます。このログが印刷されないようにして、エラー ログのみを表示するにはどうすればよいですか?
よろしく
JBoss 4.2.3 の Web アプリケーションで Apache Commons Exec を使用しています。Apache Exec を呼び出すたびに、すべてのコンソール出力がログに出力されます。これは大量の出力であり、運用環境でログを簡単に埋めることができます。このログが印刷されないようにして、エラー ログのみを表示するにはどうすればよいですか?
よろしく
Web アプリの log4j.properties ファイルに、次のような行を追加します...
log4j.logger.org.apache.commons.exec=ERROR
null ストリームを提供することで、プロセスから stdout/stderr/stdin ストリームを無効にすることもできます。このようにして、出力を本当に使用しない場合でも、ログレベルをいじる必要はありません。
executor.setStreamHandler(new PumpStreamHandler(null, null, null));
アプリケーションサーバーレベルでのロギングを無効にすることができます。jboss-log4j.xml
そのような行に追加するだけです:
<category name="org.apache.commons.exec">
<priority value="ERROR"/>
</category>