log4jの苛立たしいことの1つは、常に画面にデータをダンプしたいということです。ファイルにログを記録している場合は、それは必要ありません。log4j.propertiesファイルの設定方法にあると確信しています。この構成をすべて解決するのはイライラします。:-)
現在Balancerと呼んでいるプログラムの場合、これがロガーの初期化を行う方法です。おそらくそれは間違っているか何かです。
static Logger log = Logger.getLogger(Balancer.class);
log4j.propertiesの部分的なダンプ:
log4j.rootLogger=fatal, stdout
log4j.logger.Balancer=fatal, rollingLog
# I still don't understand how category stuff works yet
log4j.category.Balancer=info, BalancerLog
#### First appender writes to console
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%5p %d [%t] (%F:%L) - %m%n
#### Second appender writes to a file
# Control the maximum log file size
# Archive log files (ten backups here)
log4j.appender.rollingLog=org.apache.log4j.RollingFileAppender
log4j.appender.rollingLog.File=default.log
log4j.appender.rollingLog.MaxFileSize=10000KB
log4j.appender.rollingLog.MaxBackupIndex=10
log4j.appender.rollingLog.layout=org.apache.log4j.PatternLayout
log4j.appender.rollingLog.layout.ConversionPattern=%5p %d [%t] (%F:%L) - %m%n
log4j.appender.BalancerLog=org.apache.log4j.RollingFileAppender
log4j.appender.BalancerLog.File=Balancer.log
log4j.appender.BalancerLog.MaxFileSize=100000KB
log4j.appender.BalancerLog.MaxBackupIndex=10
log4j.appender.BalancerLog.layout=org.apache.log4j.PatternLayout
log4j.appender.BalancerLog.layout.ConversionPattern=%5p %d [%t] (%F:%L) - %m%n
rootLoggerがstdoutアペンダーにデータを送信する方法を取得します。/ dev / nullアペンダーはありますか?少なくとも1つのアペンダーが必要です。
とにかく、他に何もないとしても、私の基本的な回避策は、画面出力を/ dev/nullに送信することです。ところで、私のJavaプログラムは、スケジュールされたバッチ環境(GUIなし)で実行されます。スプールファイルをクリーンアップする必要がある(はい、これはAS / 400上にあります)のは少し面倒ですが、自動化することもできます。