log4j:ERROR A "org.jboss.logging.appender.FileAppender" object is not assignable to a "org.apache.lo .

时间:2023-02-15 19:52:51

log4j:ERROR A "org.jboss.logging.appender.FileAppender" object is not assignable to a "org.apache.lo

标签: log4jobjectjbossjarfile工作

"org.jboss.logging.appender.FileAppender" object is not assignable to a "org.apache.log4j.Appender" variable.

  • 09:12:54,062 ERROR [STDERR] log4j:ERROR The class "org.apache.log4j.Appender" was loaded by 
  • 09:12:54,062 ERROR [STDERR] log4j:ERROR [WebappClassLoader
  •   delegate: false
  •   repositories:
  •     /WEB-INF/classes/
  • ----------> Parent Classloader:
  • org.jboss.mx.loading.UnifiedClassLoader3@17c50b9{ url=file:/D:/jboss-4.2.3.GA/server/default/deploy/jboss-web.deployer/ ,addedOrder=6}
  • ] whereas object of type 
  • 09:12:54,062 ERROR [STDERR] log4j:ERROR "org.jboss.logging.appender.FileAppender" was loaded by [org.jboss.system.server.NoAnnotationURLClassLoader@1292d26].
  • 09:12:54,062 ERROR [STDERR] log4j:ERROR Could not instantiate appender named "FILE".

从错误信息中可知,原因是jboss的日志jar包和项目中添加的日志jar包冲突,解决方法很简单,找到项目中的log4j.jar和commons-logging.jar删除即可。

 

新问题出现:

以上处理方式发现另外一个问题,项目在console输出的一些信息丢失。需要找到更好的方式解决。

 

以上问题解决方法:

无需删除项目中的log4j.jar和commons-logging.jar的方法,将jboss/lib中的jboss-common.jar包复制到项目的lib中即可。这样就可以让项目中的日志和jboss中的日志一起工作。