log4j:
# Root logger option
log4j.rootLogger=ERROR, file
# Direct log messages to a log file
log4j.appender.file=org.apache.log4j.RollingFileAppender
log4j.appender.file.File=${fileName}
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
アプリケーションを実行するときに、これをメイン メソッドに含めますPropertyConfigurator.configure("log4j.properties");
。
問題:
プロジェクトのルートに log4j.properties ファイルを保持し、プロジェクトを実行可能な jar としてエクスポートしようとしましたが、その内容を抽出するか、再度インポートすると、log4j.properties が実際には表示されません。log4j を jar にバンドルするにはどうすればよいですか?
log4j ファイルを src フォルダーの下に配置しました。しかし、アプリを実行すると、以下の例外が発生します。log4j ファイルが移動された場合でも log4j が機能するためには、何を変更する必要がありますか?
これは私が得る例外です:
log4j:ERROR setFile(null,true) call failed.
java.io.FileNotFoundException:
at java.io.FileOutputStream.open(Native Method)
at java.io.FileOutputStream.<init>(Unknown Source)
at java.io.FileOutputStream.<init>(Unknown Source)
at org.apache.log4j.FileAppender.setFile(FileAppender.java:290)
at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:194)
at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:164)