0

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

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

4

2 回答 2

0

也许使用 FlumeAppender 将是您描述的场景的一个很好的解决方案。

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

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

于 2015-03-28T20:38:50.207 回答
0

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

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

我能想到的另一个解决方案是编写自己的附加程序,就像在问题如何在 log4j 中创建自己的附加程序?

于 2013-08-27T04:22:00.690 回答