我将Log4Net与AdoNetAppender一起使用,我喜欢在特定时间或时间段内刷新缓冲区.
可能我没错,Log4Net不提供这个功能,为此我必须创建自己的Appender,但我不知道或者可能是我混淆了如何实现这一点.
谁能帮我这个?
对于flush,我想使用以下代码,但它没有时间或超时功能.
public void FlushBuffers()
{
ILoggerRepository rep = LogManager.GetRepository();
foreach (IAppender appender in rep.GetAppenders())
{
var buffered = appender as BufferingAppenderSkeleton;
if (buffered != null)
{
buffered.Flush();
}
}
}
Run Code Online (Sandbox Code Playgroud)
编辑
Log4Net是在Asp.Net网站上实现的,我需要刷新这个网站.
也许我可以创建每隔2小时执行一次代码块的Thread并刷新缓冲区.