2010-10-29 84 views
8

我正在尋找一種命令行程序的方式,可以將其log4net輸出發送給一組用戶。現在,我正在讀取日誌文件,但我必須調用log4net.LogManager.Shutdown()來釋放文件,以便我可以讀取它,並且必須對日誌文件名進行硬編碼或解析log4net配置。我希望能夠配置一個額外的appender,將其記錄到內存位置,然後我可以讀取。是否有log4net內存appender?

我不介意爲此功能創建一個新的appender,但我不確定最佳選擇是什麼。我當然不想依賴另一個文件,數據庫或外部數據源來獲取我的日誌輸出。

回答

14

是的,有log4net.Appender.MemoryAppender。它有一個GetEvents()方法,您可以使用它來獲取已記錄的事件。

+2

現在,我查看了appender中的構建列表,但沒有看到。我發誓我必須失明。 +1給我打電話。 – Chris 2010-10-29 16:39:07

1

SmtpAppender不適合這種用途嗎?它直接發送電子郵件。

+1

我同意BufferSize屬性也可以用來配置批處理;但如果你想每天說一封電子郵件或其他類似的話,則不會。 – 2011-08-25 03:26:39