.Net MVC中log4net 使用入门(一)

  一.介绍

    log4net库是Apache log4j框架在Microsoft .NET平台的实现,是一个帮助程序员将日志信息输出到各种目标(控制台、文件、数据库等)的工具。

  二.寻找log4net

    1.百度搜索log4net

    2.点击进入

    

    3.点击Download

    4.点击log4net-2.0.8-bin-newkey.zip

    5.下载后解压文件夹:

      进入目录bin->net->看自己.Net项目的版本(我的是4.5)->4.5->release->log4net.dll

    6.找到log4net.dll就是我们所需要的库了

  三.通过NuGet程序包引入

    1.

    2.Webconfig中添加配置:

<!--添加配置节点-->
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
</configSections>
<log4net>
<!--日志保存到文件里面 txt-->
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<!--日志路径 网站根目录下面的logsmulti-->
<param name= "File" value= "logs\\"/>
<!--是否是向文件中追加日志-->
<param name= "AppendToFile" value= "true"/>
<!--log保留天数-->
<param name= "MaxSizeRollBackups" value= "10"/>
<!--日志文件名是否是固定不变的-->
<param name= "StaticLogFileName" value= "false"/>
<!--日志文件名格式为:2017-08-31.log 保存位置是logs\2017\03\2017-08-31.log-->
<param name= "DatePattern" value= "yyyy\\MM\\yyyy-MM-dd&quot;.log&quot;"/>
<!--日志根据日期滚动-->
<param name= "RollingStyle" value= "Date"/>
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
</layout>
</appender>
<root>
<!--配置可输出日志级别-->
<level value="all"/>
<!--应用配置-->
<appender-ref ref="RollingLogFileAppender"/>
</root>
</log4net>

1 <configSections>
2     <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 -->
3     <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=4.4.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
4     
5     <!--添加配置节点-->
6     <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net" />
7   
8   </configSections>

<log4net>
    <!--日志保存到文件里面 txt-->
    <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
      <!--日志路径 网站根目录下面的logsmulti-->
      <param name= "File" value= "logs\\"/>
      <!--是否是向文件中追加日志-->
      <param name= "AppendToFile" value= "true"/>
      <!--log保留天数-->
      <param name= "MaxSizeRollBackups" value= "10"/>
      <!--日志文件名是否是固定不变的-->
      <param name= "StaticLogFileName" value= "false"/>
      <!--日志文件名格式为:2017-08-31.log 保存位置是logs\2017\03\2017-08-31.log-->
      <param name= "DatePattern" value= "yyyy\\MM\\yyyy-MM-dd&quot;.log&quot;"/>
      <!--日志根据日期滚动-->
      <param name= "RollingStyle" value= "Date"/>
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%d [%t] %-5p %c - %m%n %loggername" />
      </layout>
    </appender>
    <root>
      <!--配置可输出日志级别-->
      <level value="all"/>
      <!--应用配置-->
      <appender-ref ref="RollingLogFileAppender"/>
    </root>
  </log4net>

 

3.Global.asax中添加配置:

//初始化log4net配置
log4net.Config.XmlConfigurator.Configure();

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Http;
 6 using System.Web.Mvc;
 7 using System.Web.Optimization;
 8 using System.Web.Routing;
 9 
10 namespace Demo
11 {
12     // 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,
13     // 请访问 http://go.microsoft.com/?LinkId=9394801
14 
15     public class MvcApplication : System.Web.HttpApplication
16     {
17         protected void Application_Start()
18         {
19             
20             AreaRegistration.RegisterAllAreas();
21 
22             WebApiConfig.Register(GlobalConfiguration.Configuration);
23             FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
24             RouteConfig.RegisterRoutes(RouteTable.Routes);
25             BundleConfig.RegisterBundles(BundleTable.Bundles);
26             //初始化log4net配置
27             log4net.Config.XmlConfigurator.Configure();
28         }
29     }
30 }

 

4.HomeConctroller中

(1).using log4net;

(2). public ILog log = LogManager.GetLogger("HomeController.cs页面的日志器");

(3).

log.Info("普通日志");
log.Error("错误日志");
log.Debug("异常信息");
log.Fatal("致命错误");
log.Warn("警告信息");

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 using log4net;
 7 
 8 namespace Demo.Controllers
 9 {
10     public class HomeController : Controller
11     {
12         //
13         // GET: /Home/
14         public ILog log = LogManager.GetLogger("HomeController.cs页面的日志器");
15 
16         public ActionResult Index()
17         {
18             log.Info("普通日志");
19             log.Error("错误日志");
20             log.Debug("异常信息");
21             log.Fatal("致命错误");
22             log.Warn("警告信息");
23             return View();
24         }
25 
26     }
27 }

  四.在index.cshtml中写句话:log4net

 1 @{
 2     Layout = null;
 3 }
 4 
 5 <!DOCTYPE html>
 6 
 7 <html>
 8 <head>
 9     <meta name="viewport" content="width=device-width" />
10     <title>Index</title>
11 </head>
12 <body>
13     <div>
14         log4net
15     </div>
16 </body>
17 </html>

  五.显示

 

 

  

    

 

posted @ 2018-01-14 19:52  All_just_for_fun  阅读(321)  评论(0编辑  收藏  举报