Maven プロファイルを使用して jar を作成し、log4j 出力をファイルにリダイレクトしたいと考えています。
ここに私のlog4j.propertiesファイルがあります:
# Root logger option
log4j.rootLogger=DEBUG, file
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=./reporting.log
log4j.appender.file.MaxFileSize=1MB
log4j.appender.file.MaxBackupIndex=1
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
そして、これが私がbashから実行するコマンドです:
java -jar -Dlog4j.configuration=~/log4j.properties myjar.jar
このすべてにもかかわらず、ログ出力はすべて stdout に送られます。助言がありますか?
編集:
試した:
- プロパティ ファイルを jar のルート ディレクトリに含めます。デフォルトで取得する必要があります。
- 実行時のクラスパス指定: -cp
- Mavenを介してマニフェストにクラスパスを追加する
- 実行時のプロパティ ファイルの指定: -Dlog4j.properties=
- 実行時に個々のプロパティを指定: Dlog4j.rootLogger=DEBUG,F -Dlog4j.appender.F=…</li>
これはどれもうまくいきませんでした - 私はアイデアを使い果たしています。