私はANTベースのアプリケーションを持っていますが、例外、情報、致命的なエラーなどでslf4j loggerを使用してログしました。ログの詳細についてはlog4j設定を使用しています。私はこのためにslf4j-log4j12-1.5.2.jarを使用しました。以下はログの構成です。log4jコンフィギュレーションを使用してstderrとstdoutストリームをCLIで区切ります
log4j.rootLogger=info, file, stdout, stderr
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=cmd.log
log4j.appender.file.MaxFileSize=1024KB
log4j.appender.file.MaxBackupIndex=4
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %-5p (%13F:%L) %3x - %m%n
log4j.appender.errorFile=org.apache.log4j.RollingFileAppender
log4j.appender.errorFile.File=error_stream.log
log4j.appender.errorFile.MaxFileSize=1024KB
log4j.appender.errorFile.MaxBackupIndex=4
log4j.appender.errorFile.layout=org.apache.log4j.PatternLayout
log4j.appender.errorFile.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss,SSS} %-5p (%13F:%L) %3x - %m%n
log4j.appender.errorFile.Threshold=ERROR
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p - %m%n
log4j.appender.stderr=org.apache.log4j.ConsoleAppender
log4j.appender.stderr.Threshold=WARN
log4j.appender.stderr.Target=System.err
log4j.appender.stderr.layout=org.apache.log4j.PatternLayout
log4j.appender.stderr.layout.ConversionPattern=%d{dd MMM yyyy HH:mm:ss} %5p - %m%n
私はアリのようにAntスクリプトを通じて自分のアプリケーションを呼び出しています-fのbuild.xml 1> out.txtを2> err.txt 今ではerr.txtするすべてのエラーをストリーミングする必要があります。しかし、out.txtに入る
注:error_stream.logを作成してエラーが発生することがあります。しかし、err.txtにはありません
誤った設定プロパティを使用していますか?
。 (Java 9ではlog4j 1.2が壊れているため移行することを検討してください:https://blogs.apache.org/logging/entry/moving_on_to_log4j_2) –