繁体   English   中英

Jboss 7 log4j配置-JDBCAppender

[英]Jboss 7 log4j configuration - JDBCAppender

需要帮助来在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">
  <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>

错误记录

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

此错误是数据库驱动程序加载问题,但如何解决此问题,或设置此问题的任何其他方法

第一个问题是<driver/>标记对于<custom-handler/>不是有效标记。

第二个问题是7.1.1.Final不允许将log4j追加程序定义为自定义处理程序。 这可以与EAP 6.x一起使用(6.2解决了所有错误),但是在不了解log4j如何实现它的数据库连接的情况下,可能存在引导问题。 例如,驱动程序可能尚未安装在CP上,因此您可能必须添加显式模块和依赖项。

您可能最好只创建一个简单的java.util.logging.Handlerorg.jboss.logmanager.ExtHandler来处理数据库日志记录。 它应该做起来非常简单,并且不会依赖log4j。 您可以将处理程序添加到async-handler以提高性能。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM