log4net 使用总结- 在ASP.NET MVC 中使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了log4net 使用总结- 在ASP.NET MVC 中使用相关的知识,希望对你有一定的参考价值。

1. 去官网下载log4net.dll,增加引用到站点下(你也可以通过nuget 安装)
 
2. 在Web.config中增加配置(这里按日志文件输出)
<configSections>
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
  </configSections>

<log4net>
    <!--定义输出到文件中-->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--定义文件存放位置-->
      <file value="log\\\\"/>
      <appendToFile value="true"/>
      <rollingStyle value="Date"/>
      <datePattern value="yyyy-MM-dd‘.txt‘"/>
      <staticLogFileName value="false"/>
      <param name="MaxSizeRollBackups" value="100"/>
      <param name="Encoding" value="utf-8" />
      <layout type="log4net.Layout.PatternLayout">                
        <conversionPattern value="%newline %nDate:%date  %nThread:[%thread] %nLevel: %-5level %nClass: %logger [%property{NDC}] %nMessage: %message%newline" />
      </layout>
    </appender>
    <root>
      <level value="ALL"/>
      <!--文件形式记录日志-->
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>

  

3. 在控制器里面测试使用
 
 public class HomeController : Controller
    {
        log4net.ILog log = log4net.LogManager.GetLogger(typeof(HomeController));
        public ActionResult Index()
        {
            log.Info("test....");     
            return View();
        }
}

  

4. 注意配置这一步
 
按照上面的步骤,日志并不work,原因是在asp.net MVC 中,你的log4net 配置在web.config中
这里还需要增加一个启动时候寻找log4net 的配置。
需要在,站点的Properties 文件下,找到AssemblyInfo.cs,在最后追加
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
 
5.测试运行结果
 
 技术分享
 
 
 
另外,配置文件中有<param name="Encoding" value="utf-8" />,目的是防止有些情况下中文乱码问题。

以上是关于log4net 使用总结- 在ASP.NET MVC 中使用的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC中Log4Net记录错误日志的使用

如何在 ASP.NET 中使用 log4net 在日志文件中包含 SessionID?

[Asp.Net Core]log4net组件使用

[Asp.Net Core]log4net组件使用

log4net 与 ASP.NET 3.5 问题

Asp.net core 使用log4net作为日志组件,记录日志到本地。