如何使用带有ASP.NETMVC5的Apachelog4net库进行日志记录
日志记录是一种跟踪/监视在应用程序进行/运行时正在发生的事情的方法。当您的应用程序出现问题时(无论是Windows窗体,移动应用程序还是Web应用程序),日志记录将是最需要的项目。
在这里,我将逐步介绍在ASP.NETMVC5应用程序中使用Apachelog4net框架实现日志记录功能的基本步骤。
我正在使用VisualStudioExpress2013forWeb作为针对.NETFramework4.5的开发环境。
步骤1
打开VisualStudio2013Web版,然后选择MVC模板创建一个新的ASP.NETWeb应用程序。
第2步
在此演示应用程序中,我们将使用Apachelog4net框架进行日志记录。我们需要使用NuGet软件包管理器添加log4netDLL的引用。
在VS2013解决方案资源管理器中->右键单击“引用”,然后选择“管理NuGet软件包”。
搜索“log4net”并安装。
安装成功后,我们可以在“解决方案资源管理器参考”部分看到添加的log4netDLL,如下所示:
第三步
接下来,我们需要配置我们的应用程序以使用log4net日志记录框架。将以下行添加到ASP.NETMVC5解决方案文件夹中的startup.cs文件中。下面的代码行提供有关log4net配置文件的信息。
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]1复制代码类型:[java]
第四步
接下来,将以下部分添加到web.config文件中。
<configSections> <!-- Add log4net config section--> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" /></configSections><log4net debug="true"> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <file value="logs\log.txt" /> <appendToFile value="true" /> <rollingStyle value="Size" /> <maxSizeRollBackups value="10" /> <maximumFileSize value="10MB" /> <staticLogFileName value="true" /> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" /> </layout> </appender> <root> <level value="DEBUG" /> <appender-ref ref="RollingLogFileAppender" /> </root></log4net>1234567891011121314151617181920212223复制代码类型:[html]
第5步
接下来修改Global.asax.cs并在Application_Start()方法中添加以下代码。
log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")));1复制代码类型:[html]
现在,我们的log4net库已准备好与MVC5应用程序一起使用。
第6步
在我们要为其创建日志的类中添加记录器声明,如下所示:
readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);1复制代码类型:[html]
步骤7
logger.Error()在需要时使用该方法记录消息。
运行一个应用程序,我们可以看到在Web配置文件中配置的应用程序根目录下的logs文件夹下生成的日志文件。