0

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

取而代之的是,SiftingAppender 可以根据用户 session 分离日志事件,让每个用户产生的日志进入 ONE SQL insert 语句(类似于 FileAppender with One file)

关于如何实现这一目标的任何想法或建议?

请注意

前:

    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

谢谢。

4

1 回答 1

0

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

在您的新 CachingSqlAppender(或任何您称之为的)内部,您必须处理 appender 内所有请求的临时缓存,然后在某个预先安排的时间间隔将它们全部写出。

看起来这可能是一件很难的事情,因为你必须弄清楚你的 appender 在进行插入之前等待另一个事件的时间,并且它至少必须比 SiftingAppender 的生命周期短给出它创建的附加程序。

于 2012-02-02T21:47:44.843 回答