0

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>

これはどれもうまくいきませんでした - 私はアイデアを使い果たしています。

4

2 に答える 2

-1

私はこの構成を使用します。この構成の何かが役立つかもしれません。あなたの問題はパスに関連していると思います。絶対パスである FILE.file プロパティのような完全なパスを試してください。

log4j.rootLogger = DEBUG, FILE
log4j.appender.FILE=org.apache.log4j.RollingFileAppender
log4j.appender.FILE.File=/home/mtataje/logs/repo.log
log4j.appender.FILE.Threshold=debug
log4j.appender.FILE.Append=true
log4j.appender.FILE.MaxFileSize=1MB
log4j.appender.FILE..MaxBackupIndex=2
log4j.appender.FILE.layout=org.apache.log4j.PatternLayout
log4j.appender.FILE.layout.conversionPattern=%m%n

よろしくお願いします。

于 2013-06-25T18:24:30.117 に答える