我们在应用程序中启用了jboss日志记录。目前我们正在使用'Rotating-file-handler'将所有内容记录到文件中。这是在jboss'standalone.xml'文件中定义的。我们正在考虑将一些信息记录到日志记录数据库中;为了建立指标等。
有人可以提供一些我们可以在这里使用的选项。我们的最终目标是将事物写入文件;我们会拦截并将其写入DB。我们不希望在线进行,因为这将是一个阻止呼叫。
答案 0 :(得分:2)
此链接显示如何设置我想要的内容。 JBoss AS 7.0.1具有支持自定义日志处理程序的功能。
答案 1 :(得分:0)
使用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>