log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.

佰亿互联 发布于 2013/07/18 14:39
阅读 8K+
收藏 2

控制台出现提示:

------------------------------------------------------

log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.

log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
log4j:ERROR [sun.misc.Launcher$AppClassLoader@126b249] whereas object of type
log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [WebAppClassLoader=jfinalb2c@d66426].
log4j:ERROR Could not instantiate appender named "stdout".
log4j:ERROR A "org.apache.log4j.FileAppender" object is not assignable to a "org.apache.log4j.Appender" variable.
log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
log4j:ERROR [sun.misc.Launcher$AppClassLoader@126b249] whereas object of type
log4j:ERROR "org.apache.log4j.FileAppender" was loaded by [WebAppClassLoader=jfinalb2c@d66426].

log4j:ERROR Could not instantiate appender named "file".

下面是我的配置文件:

-------------------------------------------------------

log4j.rootLogger=WARN, stdout, file
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH🇲🇲ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

# Output to the File
log4j.appender.file=org.apache.log4j.FileAppender
log4j.appender.file.File=${catalina.home}/logs/jfinal.log
log4j.appender.file.layout=org.apache.log4j.PatternLayout
log4j.appender.file.layout.ConversionPattern=%n%-d{yyyy-MM-dd HH🇲🇲ss}%n[%p]-[Thread: %t]-[%C.%M()]: %m%n

我用的是log4j-1.2.16.jar,求助!

加载中
2
佰亿互联
佰亿互联

因为项目使用了commons-logging,然而JFinal似乎"排斥"它,占用log4j一直不放,这样log4j不能被它所用,所以得给它加上自己的属性文件commons-logging.properties,里面只能显示调用其它的日志系统了,如:

org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger

去开原
去开原
感谢,可以用
车开源
车开源
我也遇到同样问题,项目要用两个LOG(lgo4j+common-log),以同样办法解决,感谢。
佰亿互联
佰亿互联
这样似乎问题解决了,也不知道对不对呀?!
1
徐迎龙
徐迎龙

下面是我的,好用的,你直接换一下好了

log4j.rootLogger=INFO, fileLogger,BORROW,stdout



## Be sure that ActiveMQ messages are not logged to 'jms' appender
log4j.logger.org.apache.activemq=ERROR, stdout
log4j.logger.org.quartz=ERROR
log4j.logger.org.logicalcobwebs.proxool=ERROR
#fileLogger
log4j.appender.fileLogger=org.apache.log4j.RollingFileAppender
#set the path of logger
log4j.appender.fileLogger.File=run.log
log4j.appender.fileLogger.MaxFileSize=2MB
log4j.appender.fileLogger.MaxBackupIndex=100
log4j.appender.fileLogger.layout=org.apache.log4j.PatternLayout
log4j.appender.fileLogger.layout.ConversionPattern=%d [%-5p]  %c %m%n
### Appender for Admin related messages ###
log4j.appender.BORROW=org.apache.log4j.ConsoleAppender
###log4j.appender.ADMIN.File=log/admin.log
log4j.appender.BORROW.layout=org.apache.log4j.PatternLayout
log4j.appender.BORROW.layout.ConversionPattern=%d [%-5p] - %c %m%n






log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %-5p %c - %m%n




0
徐迎龙
徐迎龙

org.apache.log4j.FileAppender

我用的是

org.apache.log4j.RollingFileAppender

佰亿互联
佰亿互联
不行,也会出现类似的问题!
0
JFinal
JFinal
     目测 log4j 配置问题,建议先用 jfinal demo 项目中的 log4j.properties 先替换掉原来的配置,运行看有没有错误
佰亿互联
佰亿互联
我在项目中加入了commons-logging-1.1.1.jar这个包,出现错误的也是在执行这个包关联的地方。例如我其中使用到了httpclient-4.2.5.jar,它就需要这个包,然后我执行httpclient相应的功能时候就出现这个问题了。
佰亿互联
佰亿互联
我这个就是DEMO中的配置,唯一改的地方就是日志文件的位置。
0
朋也
朋也
直接把 commons-logging
这个jar包删掉就行了
返回顶部
顶部