译:在ASP.NET MVC5中如何使用Apache log4net 类库来记录日志
译文出处:http://www.codeproject.com/Articles/823247/How-to-use-Apache-log-net-library-with-ASP-NET-MVC
在运行软件程序的时候,跟踪和监控日志是一种记录过程的好方法。
简介:
在运行软件程序的时候,跟踪和监控日志是一种记录过程的好方法。尤其在应用程序出错的时候,日志是我们最需要的文件。不管是在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)]
第四步:
在 web.config文件中添加下面一节内容:
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文件夹下生成的日志了 。
that‘s all thank you!
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。