我的项目log4j.properties在classpath中 但是当我使用mvn程序集时:汇编一个* .tar.gz 然后tar xvf x.tar.gz
java -cp lib/*:. Test.main
日志输出到控制台,而不是输出到log4j.properites分配日志文件。
➜ git:(master) ✗ ls -al lib/*log*
-rw-r--r-- 1 fuyou staff 60686 8 12 16:47 lib/commons-logging-1.1.1.jar
-rw-r--r-- 1 fuyou staff 367444 8 1 08:47 lib/log4j-1.2.14.jar
-rw-r--r-- 1 fuyou staff 20573 12 5 10:10 lib/logging-1.0.jar
-rw-r--r-- 1 fuyou staff 10792 8 1 08:47 lib/logstat-client-1.0.2.jar
-rw-r--r-- 1 fuyou staff 23786 8 1 08:47 lib/logstat-common-1.0.1.jar
-rw-r--r-- 1 fuyou staff 8869 9 4 15:28 lib/slf4j-log4j12-1.7.5.jar
➜ git:(master) ✗ ls -al lib/*slf*
-rw-r--r-- 1 fuyou staff 26084 8 12 08:40 lib/slf4j-api-1.7.5.jar
-rw-r--r-- 1 fuyou staff 8869 9 4 15:28 lib/slf4j-log4j12-1.7.5.jar
➜ git:(master) ✗ ls -al lib/*jcl-over-slf4j*
zsh: no matches found: lib/*jcl-over-slf4j*
➜ git:(master) ✗ ls -al lib
添加log4j.properties
log4j.rootLogger=info, root
log4j.appender.root=org.apache.log4j.DailyRollingFileAppender
log4j.appender.root.DatePattern='.'yyyy-MM-dd
log4j.appender.root.File=logs/test.log
log4j.appender.root.layout=org.apache.log4j.PatternLayout
log4j.appender.root.layout.ConversionPattern=%d %-5p %c{2} %m%n
log4j.appender.root.Append=true
答案 0 :(得分:1)
你是否在类路径上有log4j.properties?它需要出现在类路径的某个地方(理想情况下在根目录中)。
您可以运行java -cp lib/*:. -Dlog4j.debug Test.main
以查看正在加载的log4j配置文件。如果它不是你的log4j.properties,你可能需要移动你的log4j来获取它。
另一种选择是使用java -cp lib/*:. -Dlog4j.configuration=log4j.properties Test.main
(注意我只使用过log4j.xml,所以我不能保证它可以用于log4j.properties)。