如何提高 log4net 日志记录的速度

How to increase the speed of log4net logging

我们使用的是log4net的FileAppender来抓取日志,由于某些原因,需要记录很多信息。我们还根据日志的类型和级别(调试、信息、错误等)将日志分开

但是,我们已经测量了 I/O 并且我们知道这是我们系统延迟的一部分。我们打算提高日志记录性能。以下是我们可用的选项:

  1. 使用异步日志记录
  2. 使用批量日志记录

我们要先确定它不支持批量日志记录,然后我们可以去其他机制。我们怎样才能提高它的性能?

添加一个 BufferingForwardingAppender in-between 你的记录器和你的 appender 它将把每个日志的 IO 减少到批处理的大小。 http://logging.apache.org/log4net/log4net-1.2.12/release/sdk/log4net.Appender.BufferingForwardingAppender.html

同时检查 Log4Net.Async 和 Log4Net.Async.AsyncRollingFileAppender class