我们在应用程序中启用了jboss日志记录。目前我们正在使用“旋转文件处理程序”将所有内容记录到文件中。这是在jboss'standalone.xml'文件中定义的。我们正在研究将一些信息记录到日志记录数据库中;为建设指标等
将JBoss AS 7日志扩展到数据库
有人可以提供一些我们可以在这里使用的选项。我们的最终目标是将文件写入文件;我们会拦截并写入数据库。我们不想这样做,因为这将是一个阻塞呼叫。
我们在应用程序中启用了jboss日志记录。目前我们正在使用“旋转文件处理程序”将所有内容记录到文件中。这是在jboss'standalone.xml'文件中定义的。我们正在研究将一些信息记录到日志记录数据库中;为建设指标等
将JBoss AS 7日志扩展到数据库
有人可以提供一些我们可以在这里使用的选项。我们的最终目标是将文件写入文件;我们会拦截并写入数据库。我们不想这样做,因为这将是一个阻塞呼叫。
此链接显示如何设置我想要的。 JBoss AS 7.0.1具有支持自定义日志处理程序的功能。
使用AsyncAppender并将DBAppender附加到它。
像这样的异步部分:
<async-handler name="ASYNC">
<level name="DEBUG"/>
<queue-length value="1024"/>
<overflow-action value="BLOCK"/>
<subhandlers>
<handler name="CONSOLE"/> <!-- if you have these defined -->
<handler name="FILE"/> <!-- if you have these defined -->
<handler name="DB"/>
</subhandlers>
</async-handler>
,然后定义DB作为DBAppender(或JDBCAppender取决于您所安装的)。
<log4j-appender name="DB" class="org.apache.log4j.jdbc.JDBCAppender">
<error-manager>
<only-once/>
</error-manager>
<level name="INFO"/>
<properties>
<property name="URL">jdbc:postgresql://localhost:5432/data</property>
<property name="driver">org.postgresql.Driver</property>
<property name="user">admin</property>
<property name="password">admin</property>
</properties>
<formatter>
<pattern-formatter pattern="insert into Log values (current_timestamp,'%c', '%t','%p','%m')" />
</formatter>
</log4j-appender>
请问您能提供一些更多的细节吗? – shergill
另外它取决于你使用的是什么版本的JBoss。 –
哪些文件正在进行以下更改? standalone.xml? – shergill