1.创建一个新的MVC项目,并添加对log4net.2.0.3的引用,可以用NuGet直接添加.
2.修改配置文件对log4net配置参数
首先在Web.Config的configSections节点增加以下代码
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
然后configSections节点的外面增加以下配置
<log4net debug="true"> <root> <level value="ALL" /> <appender-ref ref="RollingLogFileAppender" /> </root> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="logs/" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="10" /> <param name="StaticLogFileName" value="false" /> <!--日志文件格式--> <param name="DatePattern" value="yyyy-MM-dd.TXT"/> <!--我这里按照日期--> <param name="RollingStyle" value="Date" /> <!--日志格式--> <layout type="log4net.Layout.PatternLayout"> <conversionPattern value="%-5p %d %5rms %-22.22c{1} %-18.18M - %m%n" /> </layout> </appender> </log4net>
配置到这个地方就可以完成啦,日志会以yyyy-MM-dd.TXT存放在logs目录下
3.在程序中对其使用
首先需要在Startup.cs文件中增加如下代码
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
然后是Global.asax.cs文件,添加多log4net的引用,然后在Application_Start中初始化log4net配置项
log4net.Config.XmlConfigurator.Configure(new FileInfo(Server.MapPath("~/Web.config")));
到这来基本上就已经配置完了,下面说一下使用
readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType); logger.Info("Log4net Ready!"); //写入日志
上面的这个代码执行完,应该可以在logs文件夹下出现一个以当前日期命名的TXT文件,里面记录了如下内容
INFO 2015-07-25 12:43:34,423 820ms HomeController Index - Log4net Ready!
这个里面的内容是前面配置中指定的,具体的配置内容可以看下文档.
新手在配置这个的时候容易出问题,导致看不到log文件,不放直接copy然后再修改,这样应该方便一点.
另外有几个配置项值得说明的
1.DatePattern : 指定文件个格式,这来的后缀要大小,至于为什么要大写,自己猜...
2.AppendToFile :是否追加,不追加就覆盖
3.log4net/root/level:这个是日志等级,ALL是全部记录,还有INFO Error....谨慎使用,