从log4j
属性文件,我需要在多个表中插入数据。
所以我需要为jdbc
appender编写多个查询以便记录到数据库。
答案 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