当我从命令行运行“java pakcage.Main”时,我的log4j工作正常,但是当我使用像“java -jar myjar.jar”这样的可执行jar运行相同的程序时,我得到以下错误:
log4j:WARN No appenders could be found for logger
log4j:WARN Please initialize the log4j system properly
log4j.jar
和log4j.properties
位于我的清单Class-Path
中。
我确信它一次正常工作,但重建后它无效。
答案 0 :(得分:4)
您只能将jar文件或目录列为类路径的一部分。您应该指定属性文件相对于正在执行的jar的目录,而不是指定log4j.properties。
示例:
如果基目录中的myjar.jar,。/ lib /中的log4j.jar和./conf/中的log4j.propert。
myjar.jar中的Class-Path条目如下
Class-Path:lib / log4j.jar conf /
答案 1 :(得分:1)
我相信您还应该能够在自定义Jar文件中包含log4j.xml(或log4j.properties)文件。只要它位于Jar文件的根目录中,log4j框架就能找到它。
答案 2 :(得分:0)