Logback - 带有嵌入式DB Appender的SiftingAppender

时间:2011-11-15 17:21:25

标签: logging logback sifting-appender

我知道SiftingAppener及其将日志记录事件分离到单个日志文件的能力

相反,SiftingAppender可以根据用户会话分离日志事件,以便每个用户生成的日志进入一个SQL插入语句(类似于带有一个文件的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

感谢。

1 个答案:

答案 0 :(得分:0)

我不知道任何现有的appender可以做到这一点,但听起来自己并不难。您需要实现自己的扩展AppenderBase的appender类并配置SiftingAppender才能使用它。

在你的新CachingSqlAppender(或你称之为的任何内容)中,你必须处理appender中所有请求的临时缓存,然后在一些预先安排的时间间隔写出来。

看起来这可能是一件很难的事情,因为你必须弄清楚你的appender在插入之前等待另一个事件需要多长时间,但它必须至少比SiftingAppender为其创建的追加者提供的生命周期。