Java log4j问题或jboss问题。我几乎放弃了

Java log4j问题或jboss问题。我几乎放弃了,java,hibernate,logging,jboss,Java,Hibernate,Logging,Jboss,我有以下情况: -jboss eap上的两个HA单例应用程序 -每个都有自己的log4j.properties文件: 附录1: 附件2 这两个安装和运行相当hmmm。。。关于这一问题: 来自App2的所有hibernate日志都写在App1.log中 还有所有com.sun.xml。。。来自App2的日志写入App1.log。 和non(或hibernate或sun.xml)被写入App2.log org.hibernate和com.sun都是在应用程序中进行日志管理的,在服务器级别,它们处于错

我有以下情况: -jboss eap上的两个HA单例应用程序 -每个都有自己的log4j.properties文件: 附录1:

附件2

这两个安装和运行相当hmmm。。。关于这一问题: 来自App2的所有hibernate日志都写在App1.log中 还有所有com.sun.xml。。。来自App2的日志写入App1.log。 和non(或hibernate或sun.xml)被写入App2.log

org.hibernate和com.sun都是在应用程序中进行日志管理的,在服务器级别,它们处于错误级别,因此在server.log中没有日志记录

另外,如果禁用App1,App2中的这两个类别将被记录到App1的日志文件中

这显然是我错过和/或我真的不知道的事情。 现在,我的问题是我需要log4j只在我告诉它的地方记录东西。 有人能给我一些建议吗?而且,嗯,我真的不喜欢使用jboss日志记录设置(控制台中的自定义appender或独立的ha.xml)。 我只想用log4j…
感谢大家。

Hibernate随JBoss一起提供(在modules\system\layers\base\org\Hibernate下),并在内部使用
org.JBoss.logging
。jboss还附带了
org.jboss.logging
。因此,我猜想整个JVM只需要进行一次日志初始化(因为
org.jboss.logging
是通过模块类加载器加载的,而不是通过应用程序类加载器加载的,静态字段是特定于类加载器的)

我建议(尽管您的要求听起来很奇怪),在您的应用程序中(即在应用程序的lib/文件夹中)发布Hibernate和log4j。然后Hibernate被加载两次,第一次由类加载器加载,第二次由类加载器加载。这样,静态场可以存在两次

log4j.rootLogger=DEBUG, App1

log4j.appender.App1=org.apache.log4j.RollingFileAppender
log4j.appender.App1.append=true
log4j.appender.App1.File=${jboss.server.log.dir}/App1.log
log4j.appender.App1.MaxFileSize=10MB
log4j.appender.App1.MaxBackupIndex=10
log4j.appender.App1.threshold=TRACE
log4j.appender.App1.layout=org.apache.log4j.PatternLayout
log4j.appender.App1.layout.ConversionPattern=[%-5p] [%t] %d{yyyy MMM dd HH:mm:ss,SSS} (%C:%F:%L) - %m%n


log4j.logger.org.hibernate=DEBUG, App1
log4j.logger.com.arjuna=DEBUG, App1
log4j.logger.com.sun=ERROR,App1
log4j.logger.com.sun.xml.ws.transport.http.client.HttpTransportPipe=DEBUG,App1
log4j.rootLogger=DEBUG, App2

log4j.appender.App2=org.apache.log4j.RollingFileAppender
log4j.appender.App2.append=true
log4j.appender.App2.File=${jboss.server.log.dir}/App2.log
log4j.appender.App2.MaxFileSize=10MB
log4j.appender.App2.MaxBackupIndex=10
log4j.appender.App2.threshold=TRACE
log4j.appender.App2.layout=org.apache.log4j.PatternLayout
log4j.appender.App2.layout.ConversionPattern=[%-5p] [%t] %d{yyyy MMM dd HH:mm:ss,SSS} (%C:%F:%L) - %m%n


log4j.logger.org.hibernate=DEBUG, App2
log4j.logger.com.arjuna=DEBUG, App2
log4j.logger.com.sun=ERROR,App2
log4j.logger.com.sun.xml.ws.transport.http.client.HttpTransportPipe=DEBUG,App2