2011-11-15 12 views
0

我知道SiftingAppener及其記錄事件分成單獨的日誌能力的文件的logback - SiftingAppender與嵌入式數據庫的Appender

相反,可以根據用戶會話SiftingAppender單獨記錄事件,因此由每一個生成的日誌用戶進入ONE SQL插入語句(類似於帶有One文件的FileAppender)

有關如何實現此目的的任何想法或建議?

請注意:

前:

TimeStamp  Formatted Message  Logger_Name   Level_String 
1 1321325688174 Step 2:  Then stop com.test.Account INFO 
2 1321325687931 Step 1:  The force com.test.Account INFO 

後:

TimeStamp  Formatted Message  Logger_Name   Level_String 
1 1321325688174 Step 2:  Then stop com.test.Account INFO 
    1321325687931 Step 1:  The force com.test.Account INFO 

感謝。

+0

你能舉個例子嗎? – palacsint

+0

所以'後'只有一個記錄,你只需要一個插入像'INSERT INTO logs(TimeStamp,Formatted,...)VALUES('1321325688174 1321325687931','Step 2:Step 1:',...) '? – palacsint

回答

0

我不知道任何現有的appender可以做到這一點,但聽起來很難做到這一點。你需要實現你自己的appender類,擴展AppenderBase並配置SiftingAppender使用它。

在新的CachingSqlAppender(或其他任何你稱之爲的)內部,你將不得不處理你的appender中的所有請求的臨時緩存,然後在一些預定的時間間隔內全部寫出來。

看起來,雖然這可能是一個困難的事情,讓時機正確,因爲你必須弄清楚你的appender多久等待另一個事件,然後再進行插入,它必須至少比SiftingAppender給它創建的appender的生命週期。