在log4j中如何为不同的表写入不同的查询以便记录到数据库

时间:2013-08-27 03:48:40

标签: java log4j database-connection

log4j属性文件,我需要在多个表中插入数据。

所以我需要为jdbc appender编写多个查询以便记录到数据库。

2 个答案:

答案 0 :(得分:0)

似乎log4j-package中的库存JDBCAppender或我发现的其他DB-appender每个日志事件不允许多次插入。

将2个JDBCAppender附加到log4j可以解决您的问题。另一方面,有2个appender会导致一些事务开销,插入数据库的行不会彼此有任何关系。

我能想到的另一个解决方案就是编写自己的appender,就像接受的问题回答How to create a own Appender in log4j?

答案 1 :(得分:0)

使用FlumeAppender可能是您所描述的场景的一个很好的解决方案。

  

Apache Flume是一个分布式,可靠且可用的系统,用于有效地从大量不同来源收集,聚合和移动大量日志数据到集中式数据存储。 FlumeAppender接收LogEvents并将它们作为序列化的Avro事件发送给Flume代理以供消费。

更多细节: https://logging.apache.org/log4j/2.x/manual/appenders.html#FlumeAppender