Java JBoss7 log4j配置-JDBCAppender
需要帮助在JBoss 7.1.1中的standalone.xml中设置Log4j JDBCAppender吗 我试过以下方法,但不起作用Java JBoss7 log4j配置-JDBCAppender,java,log4j,jboss7.x,log4jdbc,Java,Log4j,Jboss7.x,Log4jdbc,需要帮助在JBoss 7.1.1中的standalone.xml中设置Log4j JDBCAppender吗 我试过以下方法,但不起作用 <subsystem xmlns="urn:jboss:domain:logging:1.1"> .... .... .... <custom-handler name="DB" class="org.apache.log4j.jdbc.JDBCAppender" module="org.apache.log4j"> <lev
<subsystem xmlns="urn:jboss:domain:logging:1.1">
....
....
....
<custom-handler name="DB" class="org.apache.log4j.jdbc.JDBCAppender" module="org.apache.log4j">
<level name="ERROR"/>
<properties>
<property name="URL">Data Base URL</property>
<property name="driver">edb-jdbc14</property>
<property name="user">username</property>
<property name="password">password</property>
</properties>
<formatter>
<pattern-formatter pattern="INSERT INTO log_dtl(application_type,thread,class,method,line_no,level,log_date,message_key,message_dtl,message_desc,message_meta_data) VALUES('APP','%t','%c','%M','%L','%p','%d{dd/MM/yyyy HH:mm:ss}','%X{MESSAGE_KEY}','%m','%X{MESSAGE_DESC}','%X{MESSAGE_META_DATA}')" />
</formatter>
<drivers>
<driver name="edb-jdbc14" module="com.edb-jdbc14.postgresDriver">
<driver-class>com.edb.Driver</driver-class>
</driver>
</drivers>
</custom-handler>
....
....
</subsystem>
此错误是DB驱动程序加载问题,但如何解决此问题,或以任何其他方式设置此问题第一个问题是
标记不是
的有效标记
第二个问题是7.1.1.Final,它不允许将log4j appender定义为自定义处理程序。这将适用于EAP 6.x(6.2已经解决了所有的bug),但是如果不知道log4j是如何实现其数据库连接的,那么引导可能会有潜在的问题。例如,驱动程序可能还不在CP上,因此您可能必须添加显式模块和依赖项
您最好只创建一个简单的java.util.logging.Handler
或org.jboss.logmanager.ExtHandler
来处理数据库日志记录。它应该相当简单,不会依赖于log4j。您只需将处理程序添加到异步处理程序
,即可提高性能
14:56:16,881 ERROR [org.jboss.as.server] JBAS015956: Caught exception during boot: org.jboss.as.controller.persistence.ConfigurationPersistenceException: JBAS014676: Failed to parse configuration
at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:141) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.server.ServerService.boot(ServerService.java:266) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.controller.AbstractControllerService$1.run(AbstractControllerService.java:155) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
at java.lang.Thread.run(Thread.java:722) [rt.jar:1.7.0_02]
Caused by: java.lang.IllegalArgumentException: newValue is null
at org.jboss.dmr.ModelNode.set(ModelNode.java:458) [jboss-dmr-1.1.1.Final.jar:1.1.1.Final]
at org.jboss.as.logging.LoggingSubsystemParser.parsePropertyElement(LoggingSubsystemParser.java:898)
at org.jboss.as.logging.LoggingSubsystemParser.parseCustomHandlerElement(LoggingSubsystemParser.java:610)
at org.jboss.as.logging.LoggingSubsystemParser.readElement(LoggingSubsystemParser.java:169)
at org.jboss.as.logging.LoggingSubsystemParser.readElement(LoggingSubsystemParser.java:113)
at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.staxmapper.XMLExtendedStreamReaderImpl.handleAny(XMLExtendedStreamReaderImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.as.server.parsing.StandaloneXml.parseServerProfile(StandaloneXml.java:894) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.server.parsing.StandaloneXml.readServerElement_1_1(StandaloneXml.java:330) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:127) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.as.server.parsing.StandaloneXml.readElement(StandaloneXml.java:100) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
at org.jboss.staxmapper.XMLMapperImpl.processNested(XMLMapperImpl.java:110) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.staxmapper.XMLMapperImpl.parseDocument(XMLMapperImpl.java:69) [staxmapper-1.1.0.Final.jar:1.1.0.Final]
at org.jboss.as.controller.persistence.XmlConfigurationPersister.load(XmlConfigurationPersister.java:133) [jboss-as-controller-7.1.1.Final.jar:7.1.1.Final]
... 3 more