我尝试使用log4j和slf4j编写示例应用程序。代码在我的应用程序中非常简单,我在main方法的主类中有以下代码
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
Logger logger = LoggerFactory.getLogger("com.company.cdrs");
logger.info("testing it in the application");
我使用以下命令运行测试应用程序
java -cp /home/nbansal/workspace_eclipse_luna/event-utils-test/target/classes:event-utils-1.1~vox~trunk.jar:json-simple-1.1.jar:slf4j-api-1.7.7.jar:slf4j-log4j12-1.7.7.jar:log4j-1.2.17.jar:log4j-1.2.13.jar -Dlog4j.configuration=file:///home/nbansal/workspace_eclipse_luna/event-utils-test/target/classes/resources/log4j.properties com.company.eventtest.EventUtilsTest
当我运行应用程序时,我不断收到以下错误:
Picked up JAVA_TOOL_OPTIONS: -javaagent:/usr/share/java/jayatanaag.jar
log4j:ERROR Could not instantiate class [=org.apache.log4j.RollingFileAppender].
java.lang.ClassNotFoundException: =org.apache.log4j.RollingFileAppender
at java.net.URLClassLoader$1.run(URLClassLoader.java:372
我无法理解为什么我会收到此错误,我正在类路径上正确提供log4j jar文件。 这是我的log4j.properties的样子
log4j.rootLogger=DEBUG
log4j.logger.com.company.cdrs=DEBUG, hadoop_cdr
log4j.additivity.com.company.cdrs=false
log4j.appender.hadoop_cdr==org.apache.log4j.RollingFileAppender
log4j.appender.hadoop_cdr.File=/home/nbansal/workspace_eclipse_luna/event-utils-test/cdr_events.out
log4j.appender.hadoop_cdr.ImmediateFlush=true
log4j.appender.hadoop_cdr.Threshold=debug
log4j.appender.hadoop_cdr.Append=true
log4j.appender.hadoop_cdr.layout=org.apache.log4j.PatternLayout
log4j.appender.hadoop_cdr.layout.conversionPattern=%u %m%n
log4j.appender.hadoop_cdr.DatePattern='.'yyyy-MM-dd-HH
答案 0 :(得分:1)
你的log4j.properties文件中有两个等于运算符。
log4j.appender.hadoop_cdr=org.apache.log4j.RollingFileAppender