使用 log4net 版本 2.0.3 执行登录数据库

using log4net version 2.0.3 to perform logging into a database

我们需要一个解决方案来使用 log4net 的特定版本 2.0.3 进行数据库日志记录。因为这是 log4net 的旧版本,所以我想知道如何解决让这个版本与 sql server 2012 很好地配合使用的问题。

  1. 经历了this tutorial,我想知道是否有必要使用nhibernate来做这个?
  2. 对于 2.0.3,是否有任何其他需要进行数据库日志记录的依赖项?

不...NHibernate 太过分了,会减慢您的日志记录速度。您希望日志记录速度快。使用 log4net,您应该能够直接登录数据库 table。无需在其间放置 ORM。

作为您对 SQL 2012 的规范,除了 .NET 框架和 log4net 之外,您不需要任何其他程序集。

注意 log4net 文档有一个所需配置的示例和 table 模式:https://logging.apache.org/log4net/release/config-examples.html

您可以使用 AdoNetAppender which already comes with log4net. You do not need anything else. You can refer to THIS 教程来了解如何实现它。

您还需要记住,log4net appender 是同步的,一些对一批日志事件进行操作以提高性能,但是如果生成太多日志事件,它们都会阻塞调用线程,因此我也强烈建议使用异步转发器。解释了一个很好的实现HERE