0
有沒有辦法在AdoNetAppender
中覆蓋SendBuffer
方法來批量插入數據庫中的日誌? 下面這個link在SendBuffer
方法log4net通過迭代loggingevent寫入日誌數據庫並插入每個單獨的查詢,我想插入所有日誌查詢,我認爲這種方法提高性能。Log4net adoNetAppender批量插入日誌記錄事件
有沒有辦法在AdoNetAppender
中覆蓋SendBuffer
方法來批量插入數據庫中的日誌? 下面這個link在SendBuffer
方法log4net通過迭代loggingevent寫入日誌數據庫並插入每個單獨的查詢,我想插入所有日誌查詢,我認爲這種方法提高性能。Log4net adoNetAppender批量插入日誌記錄事件
可以使一個類,如:
public class MyAdoNetAppender : AdoNetAppender
{
override protected void SendBuffer(IDbTransaction dbTran, LoggingEvent[] events)
{
(... implementation goes here)
}
}
可以使用類像配置(MYDLL是你的DLL名稱,並確保您擁有的命名空間是正確的):
<appender name="A1" type="MyAdoNetAppender,MyDll">
你在批量寫入數據庫方面可能是正確的,但這不是日誌記錄?記錄是關於「寫下」事件;這種錄音應該儘快發生。那麼你如何建議在你的重寫方法中建立低水位?如何確定何時最好批量寫入loggingevents?如果應用程序崩潰而您仍然有一系列您正在等待寫入的事件?我認爲log4net傢伙可能已經對此進行了研究。彈出並問他們... –
如果性能真的是一個問題,你[記錄太多](https://blog.codinghorror.com/the-problem-with-logging/)? – stuartd