Log4net adoNetAppender dosent 批量插入日志记录事件

Log4net adoNetAppender dosent insert logging event in bulk

是否有任何方法可以覆盖 AdoNetAppender 中的 SendBuffer 方法以在数据库中批量插入日志? 在下面 link SendBuffer 方法中,log4net 通过对 loggingevent 的迭代将日志写入数据库,并将每个日志插入单独的查询中,我想将所有日志插入查询中,我认为这种方法可以提高性能。

你可以class像:

public class MyAdoNetAppender : AdoNetAppender
{
    override protected void SendBuffer(IDbTransaction dbTran, LoggingEvent[] events)
    {
        (... implementation goes here)
    }
}

您可以在配置中使用 class(MyDll 是您的 dll 名称,并确保命名空间正确):

 <appender name="A1" type="MyAdoNetAppender,MyDll">