如何使用Apache log4net库与ASP.NET MVC 5日志记录

在运行软件程序的时候,跟踪和监控日志是一种记录过程的好方法。

简介:

在运行软件程序的时候,跟踪和监控日志是一种记录过程的好方法。尤其在应用程序出错的时候,日志是我们最需要的文件。不管是在web,winform,windowsphone。

这里我们将一步一步讲解如何在ASP.NET MVC5应用程序中使用Apache log4net 框架来记录日志。

我用的是 Visual Studio Express 2013 和.NET framework 4.5.

第一步:

打开 Visual Studio 2013 创建一个新的ASP.NET应用程序选择MVC 模板.

第二步:

在这个应用程序例子中,我们将使用Apache log4net 框架来记录日志. 我们需要通过 NuGet package manager引用 log4net DLL .

  • In VS 2013 Solution Explorer -> 右击Reference 并 选择Manage NuGet Packages.
  • 查找 ‘log4net’ 然后安装.

如果安装成功,我们就能够在引用段下面看到如下图:

第三步:

接下来我们就要配置我们的应用程序来使用Log4Net了。把下面这行代码加在解决方案下的startup.cs 文件中。

 

1 [assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]

纠正:这段代码最好加在AssemblyInfo.cs 里

 

第四步:

在 web.config文件中添加下面一节内容:

[html] view plain copy
 
  1. <configSections>  
  2.     <!-- Add log4net config section-->  
  3.     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />  
  4.   </configSections>  
  5.   
  6.   <log4net debug="true">  
  7.     <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">  
  8.       <file value="logs\log.txt" />  
  9.       <appendToFile value="true" />  
  10.       <rollingStyle value="Size" />  
  11.       <maxSizeRollBackups value="10" />  
  12.       <maximumFileSize value="10MB" />  
  13.       <staticLogFileName value="true" />  
  14.       <layout type="log4net.Layout.PatternLayout">  
  15.         <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" />  
  16.       </layout>  
  17.     </appender>  
  18.   
  19.     <root>  
  20.       <level value="DEBUG" />  
  21.       <appender-ref ref="RollingLogFileAppender" />  
  22.     </root>  
  23.   </log4net>  

第五步:

修改Global.asax.cs文件把下面这段代码添加在Application_Start() 函数里面:

log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")));

到此,我们已经完成配置。

第六步:

在我们想添加日志的类中添加如下记录日志声明:

readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

第七步:

使用logger.Error()方法来给我们想加日志的地方添加日志。

运行该程序我们就可以看到应用程序根目录下(webconfig文件配置的位置) 的logs文件夹下生成的日志了 。

posted @ 2018-04-23 15:09  Mr.石  阅读(239)  评论(0编辑  收藏  举报