如何在 ASP.NET MVC 5 中使用 Apache log4net 库进行日志记录






4.81/5 (28投票s)
日志记录是一种跟踪/监控应用程序在运行过程中发生情况的方法。
引言
日志记录是一种跟踪/监控应用程序在运行过程中发生情况的方法。当应用程序出现问题时,日志记录将是最需要的,无论是 Windows Forms、移动应用还是 Web 应用。
在这里,我将介绍在 ASP.NET MVC 5 应用程序中使用 Apache log4net 框架实现日志记录功能的基本步骤。
我正在使用 Visual Studio Express 2013 for Web 作为我的开发环境,目标是 .NET Framework 4.5。
步骤 1
打开 Visual Studio 2013 for Web 并创建一个新的 ASP.NET Web 应用程序,选择 MVC 模板。
第二步
在此演示应用程序中,我们将使用 Apache log4net 框架进行日志记录。我们需要使用 NuGet 包管理器添加 log4net DLL 的引用。
- 在 VS 2013 解决方案资源管理器中 -> 右键单击“引用”并选择“管理 NuGet 包”。
- 搜索“log4net”并安装。
安装成功后,我们可以在解决方案资源管理器的“引用”部分看到添加的 log4net DLL,如下所示
步骤 3
接下来,我们需要配置应用程序以使用 log4net 日志记录框架。在 ASP.NET MVC5 解决方案文件夹中的 startup.cs 文件中添加以下行。以下代码行提供有关 log4net 配置文件信息。
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
步骤 4
接下来,将以下部分添加到 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>
步骤 5
接下来,修改 Global.asax.cs 并将以下代码添加到 Application_Start()
方法中。
log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")));
现在我们的 log4net 库已准备好与 MVC5 应用程序一起使用。
步骤 6
在需要进行日志记录的类中添加日志记录器声明,如下所示
readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
步骤 7
使用 logger.Error()
方法在需要时记录消息。
运行应用程序,我们可以看到在应用程序根目录下的 logs 文件夹中生成的日志文件,如 web config 文件中配置的那样。