65.9K
CodeProject 正在变化。 阅读更多。
Home

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

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.81/5 (28投票s)

2014 年 9 月 26 日

CPOL

1分钟阅读

viewsIcon

110053

日志记录是一种跟踪/监控应用程序在运行过程中发生情况的方法。

引言

日志记录是一种跟踪/监控应用程序在运行过程中发生情况的方法。当应用程序出现问题时,日志记录将是最需要的,无论是 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 文件中配置的那样。

© . All rights reserved.