log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.
控制台出现提示:
------------------------------------------------------
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 bylog4j: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
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(11)
直接把
commons-logging
这个jar包删掉就行了
我这个就是DEMO中的配置,唯一改的地方就是日志文件的位置。
我在项目中加入了commons-logging-1.1.1.jar这个包,出现错误的也是在执行这个包关联的地方。例如我其中使用到了httpclient-4.2.5.jar,它就需要这个包,然后我执行httpclient相应的功能时候就出现这个问题了。
目测 log4j 配置问题,建议先用 jfinal demo 项目中的 log4j.properties 先替换掉原来的配置,运行看有没有错误
不行,也会出现类似的问题!
org.apache.log4j.FileAppender
我用的是
org.apache.log4j.RollingFileAppender
下面是我的,好用的,你直接换一下好了
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
这样似乎问题解决了,也不知道对不对呀?!
我也遇到同样问题,项目要用两个LOG(lgo4j+common-log),以同样办法解决,感谢。
感谢,可以用
因为项目使用了commons-logging,然而JFinal似乎"排斥"它,占用log4j一直不放,这样log4j不能被它所用,所以得给它加上自己的属性文件commons-logging.properties,里面只能显示调用其它的日志系统了,如:
org.apache.commons.logging.Log=org.apache.commons.logging.impl.Jdk14Logger