1

我正在使用 log4net 将消息记录到使用AdoNetAppender. 我需要批量插入日志。我试过使用batchSizeappender 的属性,但据我所知,结果类似于:

conn.Open();

for (int i = 0; i < count; i++)
{
    comm.ExecuteNonReader();
}

conn.Close();

这最终会转化为一堆插入。因此,如果我的批量大小是 500,那么将有 500 个连续插入。

我的目标是将批量插入到 1 个插入语句中。像 .NET 的SqlBulkCopy.

是否可以使用 log4net 实现此结果?还是我必须实现自己的自定义附加程序才能这样做?

4

1 回答 1

3

您必须编写自己的自定义附加程序,因为 log4net 没有开箱即用。您可以从 AdoNetAppender 继承并覆盖virtual protected void SendBuffer(IDbTransaction dbTran, LoggingEvent[] events)

AdoNetAppender.cs

于 2015-12-17T07:05:38.103 回答