关于jboss4.x的日志系统

来源:互联网 发布:迪杰斯特拉算法 c语言 编辑:程序博客网 时间:2024/05/16 05:39
本人有一个项目,是基于ajax+hibernate+spring的,在tomcat容器下面运行是日志系统没有任何问题,突然心血来潮,想把它移植到jboss4.x下面,为得是用spring集成ejb,不过在部署的时候就报下面的错误:
14:45:56,496 ERROR [STDERR] log4j:ERROR The class "org.apache.log4j.spi.ErrorHandler" was loaded by
14:45:56,496 ERROR [STDERR] log4j:ERROR [WebappClassLoader
delegate: false
repositories:
/WEB-INF/classes/
----------> Parent Classloader:
java.net.FactoryURLClassLoader@172bab9
] whereas object of type
14:45:56,497 ERROR [STDERR] log4j:ERROR "org.jboss.logging.util.OnlyOnceErrorHandler" was loaded by
[org.jboss.system.server.NoAnnotationURLClassLoader@19616c7].
14:45:56,542 ERROR [STDERR] log4j:ERROR Could not create an Appender. Reported error follows.
14:45:56,542 ERROR [STDERR] java.lang.ClassCastException: org.jboss.logging.appender.DailyRollingFileAppender

    初看一下应该是日志系统的问题,上网查了下资料,没错,的确是日志的问题,查了下jboss论坛,看到有高手说只要在jboss启动是添加如下参数就可以解决错误:
   -Dlog4j.defaultInitOverride=true
   试了下,确实相关的Exception没有了,工程是能跑了,不过后来又发现一个问题,工程的相应日志系统也失灵了,汗。。。
   继续查资料,终于又发现了一篇帖子,只要jboss deploy下面相应的war lib中log4j*.jar和common-logging.jar删除就可以了,日志系统能正常运作了,jboss在日志方面(log4j和common-logging)有它自己的版本,如果你的web工程中有自己的日志系统,那么很容易与jboss的日志系统产生冲突,我现在都不用log4j了,直接用common-logging1.0.4(jboss默认应该就是这个版本),没必要自己再去配置日志系统。 
原创粉丝点击