繁体   English   中英

使用log4net以批量方式登录到SQL Server

[英]Logging to SQL Server in bulks using log4net

我正在使用log4net使用AdoNetAppender将消息记录到SQL Server数据库。 我需要在批量中插入日志。 我已经尝试使用appender的batchSize属性,但据我所知,结果是这样的:

conn.Open();

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

conn.Close();

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

我的目标是将插件插入1个插入语句中。 就像.NET的SqlBulkCopy

用log4net可以实现这个结果吗? 或者我是否必须实现自己的自定义appender才能这样做?

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

AdoNetAppender.cs

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM