【问题标题】:Log4Net for ADOnetAdapter..for my asp.net mvc applicationLog4Net for ADOnetAdapter..for my asp.net mvc application
【发布时间】:2010-10-20 16:44:11
【问题描述】:

我正在使用位于以下位置的 log4net 代码: http://logging.apache.org/log4net/release/sdk/log4net.Appender.AdoNetAppender.html

如何编写后面的代码将信息插入到表格中?

【问题讨论】:

    标签: asp.net asp.net-mvc asp.net-mvc-2 log4net log4net-configuration


    【解决方案1】:

    MVC 没有代码隐藏......你把它放在控制器中。首先将 log4net 配置以在配置文件中使用该附加程序(他们在您提供的页面上提供 appender config and SQL table info)。现在,在您的控制器中,您需要一个私有的记录器:

    private log4net.ILog log;
    

    现在在控制器的 ctor 中(如果没有创建它)你需要初始化记录器。

     log4net.Config.XmlConfigurator.Configure();
            log = log4net.LogManager.GetLogger(this.GetType());
    

    现在您可以退出了...

    log.Error("I lost my wookie");
    

    try
    {
      int x = 0/3;
      log.Info("The divide by zero didnt fail?  Why?");
    }
    catch(Exception ex)
    {
       log.Error(ex);
    }
    

    【讨论】:

    • 谢谢你,我怎么需要创建这样的东西?传递4个参数??时间,消息,堆栈跟踪...等?但在这里我们只是在做 log.Error("I lostmy wookie");它会添加什么?我们怎么说添加消息?线?离开?日期?等等...谢谢
    • log.Error 和其他日志。 (如 log.Debug)有消息和异常的重载。自动记录时间、线程、堆栈跟踪和其他内容。级别由您使用的方法确定...错误、调试、信息等。
    • 顺便说一句,我知道它超出了这里的范围,但是 ADO 附加程序已更新为使用配置的连接字符串部分中的连接字符串,但是更新是在 log4net 的开发版本中。我通常只是从新代码中取出那个附加程序并将其添加到我的项目中,这样我就可以使用旧版本的 log4net,因为很多其他库都使用旧的 log4net。这对你来说有点高级,但总有一天你会想到它,现在就能找到它。
    猜你喜欢
    • 2020-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    • 1970-01-01
    • 2015-06-13
    • 2020-03-13
    相关资源
    最近更新 更多