我的问题与log4j java.lang.ClassNotFoundException:= org.apache.log4j.RollingFileAppender

时间:2016-10-10 19:47:03

标签: java log4j slf4j

我尝试使用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

1 个答案:

答案 0 :(得分:1)

你的log4j.properties文件中有两个等于运算符。

log4j.appender.hadoop_cdr=org.apache.log4j.RollingFileAppender