2013-08-27 33 views

回答

0

似乎log4j-package或我發現的其他DB-appender中的股票JDBCAppender不允許每個日誌事件有多次插入。

將2個JDBCAppenders附加到log4j可以解決您的問題。另一方面,擁有2個appender會導致一些事務開銷,並且插入到數據庫中的行將不會彼此有任何關係。

另一種解決方案,我能想到的問題How to create a own Appender in log4j?

+0

2附加器將允許只寫兩個查詢,請建議有關自定義添加器,如何實現這一目標。 – Pawan

+0

有問題的接受答案http://stackoverflow.com/questions/6072389/how-to-create-a-own-appender-in-log4j顯示從哪裏開始。實際的實現取決於你的日誌表結構,但你可以使用log4j JDBCAppender作爲例子([JDBCAppender src](http://svn.apache.org/viewvc/logging/log4j/trunk/src/main/java/org/阿帕奇/ log4j的/ JDBC/JDBCAppender.java)) – reap

0

也許使用FlumeAppender將是一個很好的解決方案,你描述的場景的接受的答案是寫自己的appender,等等。

Apache Flume是一個分佈式,可靠且可用的系統,用於高效地收集,彙總和將來自多個不同源的大量日誌數據移動到集中式數據存儲。 FlumeAppender將LogEvent作爲序列化的Avro事件發送給Flume代理以供消耗。

的更多細節: https://logging.apache.org/log4j/2.x/manual/appenders.html#FlumeAppender

相關問題