Log4Net日志记录错误只有一次

时间:2014-11-15 13:25:31

标签: c# asp.net asp.net-mvc log4net

我试图在asp.net MVC5 c#中使用log4net记录错误。

出于测试目的,我在application_start中配置了log4net,并从家庭控制器初始化记录器和日志错误。出于某种原因,log4net仅在我启动应用程序时第一次记录错误。当我离开家庭控制器并再次回到家庭控制器时,没有记录错误。我把我的日志代码放在HomeController索引中。使用断点调试时,可以访问日志记录代码,但不记录日志。

我错过了什么吗?

这是我的log4net配置。

  1. 将Global.asax Application_Start()中的log4net配置为

    log4net.Config.XmlConfigurator.Configure();
    
  2. 在我的家庭控制器索引(For Testing)中,我将错误记录为

    var logger = log4net.LogManager.GetLogger(this.GetType());
    Random rnd = new Random();
    int rndint = rnd.Next(52);
    
    logger.Error(rndint.ToString());
    
  3. 我的配置文件使用标准log4net AdoNetAppender,缓冲区大小= 100,级别设置为WARN

1 个答案:

答案 0 :(得分:1)

AdoNetAppender批处理插入数据库的日志语句。如果将缓冲区大小设置为1,您将看到日志语句立即添加到表中。

最好的办法是使用1的缓冲区大小进行本地开发,如果性能受到关注并且使用大量日志记录,则在部署到生产时使用更大的值。