配置log4net写日志到文件

原创 Laughing  2017-08-06 00:19  阅读 131 次 评论 1 条

所有的项目都离不开日志记录功能,log4net是一个功能强大的日志组件,log4net支持将日志写到文件或者写到数据库中。这篇文章,我们主要介绍简单的,将日志写入到文件中。

环境安装

现在做.net的基本都是使用nuget了吧,安装方法页很简单,直接在nuget包管理器中搜索log4net,然后安装即可。

配置文件

为了保证项目的整洁性,我们建议将log4net的配置文件,放到单独的config文件中,我们可以将log4net的配置文件,放到网站根目录的log4net.config文件中,config文件配置如下

  1. <?xml version="1.0" encoding="utf-8" ?>  
  2. <configuration>  
  3.     <configSections>  
  4.         <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>  
  5.     </configSections>  
  6.     <log4net>  
  7.         <!--定义输出到文件中-->  
  8.         <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">  
  9.             <!--定义文件存放位置-->  
  10.             <file value="log//"/>  
  11.             <appendToFile value="true"/>  
  12.             <rollingStyle value="Date"/>  
  13.             <datePattern value="yyyy-MM-dd'.txt'"/>  
  14.             <staticLogFileName value="false"/>  
  15.             <param name="MaxSizeRollBackups" value="100"/>  
  16.             <param name="Encoding" value="utf-8" />  
  17.             <layout type="log4net.Layout.PatternLayout">  
  18.                 <!--<conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别:  %-5level %n出错类:%logger property: [%property{NDC}] - %n错误描述:%message%newline %n"/>-->  
  19.                 <conversionPattern value="%newline %nDate:%date  %nThread:[%thread] %nLevel: %-5level %nClass: %logger [%property{NDC}] %nMessage: %message%newline" />  
  20.             </layout>  
  21.         </appender>  
  22.         <root>  
  23.             <level value="ALL"/>  
  24.             <!--文件形式记录日志-->  
  25.             <appender-ref ref="RollingLogFileAppender"/>  
  26.         </root>  
  27.     </log4net>  
  28. </configuration>  

是配置生效

我们可以把配置文件放到AssemblyInfo.cs文件中,也可以放到其他在调用日志方法之间的任意一个类的命名空间之上。我这里放到了Gloabal.asax.cs

文件中的。

  1. using System.Web;  
  2. using System.Web.Mvc;  
  3. using System.Web.Routing;  
  4. [assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]  
  5. namespace MVCDemo.WebUI  
  6. {  
  7.     public class Global : HttpApplication  
  8.     {  
  9.         protected void Application_Start()  
  10.         {  
  11.             AreaRegistration.RegisterAllAreas();  
  12.             RouteConfig.RegisterRoutes(RouteTable.Routes);  
  13.         }  
  14.     }  
  15. }  

使用方法

使用方法非常简单,直接初始化ILog接口,然后调用方法写入日志即可

  1. log4net.ILog log = log4net.LogManager.GetLogger(typeof(HomeController));  
  2.         public ActionResult Index()  
  3.         {  
  4.             log.Warn("test...");  
  5.             return View ();  
  6.         }  
本文地址:https://www.lisen.me/configuration-log4net-write-logs-to-a-file.html
版权声明:本文为原创文章,版权归 木子网 所有,欢迎分享本文,转载请保留出处!

发表评论


表情