我在将 log4j.properties 文件放在类路径上时遇到了一些问题。我可以在开发时使用它(Eclipse Indigo),但是当我将我的应用程序导出为 JAR 时,我不能。
我为导出的 JAR 手工制作了一个 MANIFEST.MF 文件:
Manifest-Version: 1.0
Main-Class: main.Program
Class-Path: lib/log4j.properties lib/log4j-1.2.15.jar
然后将 JAR 放在这个文件组织上:
folder
|-------- app.jar
|-------- lib
|--------- log4j.properties
|--------- log4j-1.2.15.jar
当我尝试运行 app.jar 时,他们发现 log4j.jar 但没有 log4j.properties:
log4j:WARN No appenders could be found for logger (main.Program).
log4j:WARN Please initialize the log4j system properly.
我的log4j.properties文件是这样的:
log4j.rootLogger=INFO, stdout, file
PATTERN=[%d] [%p] [%c{1}]: %m%n
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=${PATTERN}
log4j.appender.file=org.apache.log4j.DailyRollingFileAppender
log4j.appender.file.DatePattern='.'yyyy-MM-dd
log4j.appender.file.File=${logger_file_path}
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=${PATTERN}