一.介绍
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 保存位置是logs2017 32017-08-31.log-->
<param name= "DatePattern" value= "yyyy\MM\yyyy-MM-dd".log""/>
<!--日志根据日期滚动-->
<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 保存位置是logs2017032017-08-31.log--> <param name= "DatePattern" value= "yyyy\MM\yyyy-MM-dd".log""/> <!--日志根据日期滚动--> <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>
五.显示