ASP.Net MVC 项目中添加LogNet4
1,创建ASP.NET MVC项目
2,NuGet或者直接下载log4net.dll 并安装
3 在配置文件 web.config 加入 如下代码
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
4 在配置文件 web.config 加入lognet4的配置文件
<log4net debug="true"> ???<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> ?????<filter type="log4net.Filter.LevelMatchFilter"> ???????<levelToMatch value="ERROR"/> ?????</filter> ?????<filter type="log4net.Filter.DenyAllFilter"/> ?????<!--日志文件名开头--> ?????<param name="File" value="Logs\Error\"/> ?????<!--是否追加到文件--> ?????<param name="AppendToFile" value="true"/> ?????<!--记录日志写入文件时,不锁定文本文件--> ?????<lockingModel type="log4net.Appender.FileAppender+ExclusiveLock"/> ?????<!--Unicode编码--> ?????<Encoding value="UTF-8"/> ?????<!--最多产生的日志文件数,value="-1"为不限文件数--> ?????<param name="MaxSizeRollBackups" value="10"/> ?????<!--是否只写到一个文件中--> ?????<param name="StaticLogFileName" value="false"/> ?????<!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])--> ?????<param name="RollingStyle" value="Date"/> ?????<!--按日期产生文件夹,文件名[在日期方式与混合方式下使用]--> ?????<param name="DatePattern" value="yyyy-MM-dd".log""/> ?????<!--每个文件的大小。只在混合方式与文件大小方式下使用,超出大小的在文件名后自动增加1重新命名--> ?????<param name="maximumFileSize" value="5000KB" /> ?????<!--记录的格式。--> ????<layout type="log4net.Layout.PatternLayout"> ???????<!--<header value="[BEGIN LOGGING AT %date]%newline" type="log4net.Util.PatternString" /> ???????<footer value="[END LOGGING AT %date]%newline%newline" type="log4net.Util.PatternString" />--> ???????<ConversionPattern value="%d [%t] %-5p %c : %m%n" /> ?????</layout> ???</appender> ???<appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> ?????<filter type="log4net.Filter.LevelMatchFilter"> ???????<levelToMatch value="INFO"/> ?????</filter> ?????<filter type="log4net.Filter.DenyAllFilter"/> ?????<!--日志文件名开头--> ?????<param name="File" value="Logs\Info\"/> ?????<!--是否追加到文件--> ?????<param name="AppendToFile" value="true"/> ?????<!--记录日志写入文件时,不锁定文本文件--> ?????<lockingModel type="log4net.Appender.FileAppender+ExclusiveLock"/> ?????<!--Unicode编码--> ?????<Encoding value="UTF-8"/> ?????<!--最多产生的日志文件数,value="-1"为不限文件数--> ?????<param name="MaxSizeRollBackups" value="10"/> ?????<!--是否只写到一个文件中--> ?????<param name="StaticLogFileName" value="false"/> ?????<!--按照何种方式产生多个日志文件(日期[Date],文件大小[Size],混合[Composite])--> ?????<param name="RollingStyle" value="Date"/> ?????<!--按日期产生文件夹,文件名[在日期方式与混合方式下使用]--> ?????<param name="DatePattern" value="yyyy-MM-dd".log""/> ?????<!--每个文件的大小。只在混合方式与文件大小方式下使用,超出大小的在文件名后自动增加1重新命名--> ?????<param name="maximumFileSize" value="5000KB" /> ?????<!--记录的格式。--> ?????<layout type="log4net.Layout.PatternLayout"> ???????<!--<header value="[BEGIN LOGGING AT %date]%newline" type="log4net.Util.PatternString" /> ???????<footer value="[END LOGGING AT %date]%newline%newline" type="log4net.Util.PatternString" />--> ???????<ConversionPattern value="%d [%t] %-5p %c :%m%n" /> ?????</layout> ???</appender> ???<root> ?????<level value="All"/> ?????<appender-ref ref="ErrorAppender"/> ?????<appender-ref ref="InfoAppender"/> ???</root> ?</log4net>
5 在Properties下找到AssemblyInfo.cs 加入代码如下
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
7在Global.asax 加入代码如下:
string l4net = Server.MapPath("~/Web.config"); ????????log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(l4net));
8 添加辅助类(引入命名空间 log4net;log4net.Config;System.IO)
public static class AppLog ???{ ???????private static ILog log; ???????static AppLog() ???????{ ???????????XmlConfigurator.ConfigureAndWatch(new FileInfo(AppDomain.CurrentDomain.SetupInformation.ConfigurationFile)); ???????????log = LogManager.GetLogger(typeof(AppLog)); ???????} ???????public static void Debug(object message) ???????{ ???????????log.Debug(message); ???????} ???????public static void DebugFormatted(string format, params object[] args) ???????{ ???????????log.DebugFormat(format, args); ???????} ???????public static void Info(object message) ???????{ ???????????log.Info(message); ???????} ???????public static void InfoFormatted(string format, params object[] args) ???????{ ???????????log.InfoFormat(format, args); ???????} ???????public static void Warn(object message) ???????{ ???????????log.Warn(message); ???????} ???????public static void Warn(object message, Exception exception) ???????{ ???????????log.Warn(message, exception); ???????} ???????public static void WarnFormatted(string format, params object[] args) ???????{ ???????????log.WarnFormat(format, args); ???????} ???????public static void Error(object message) ???????{ ???????????log.Error(message); ???????} ???????public static void Error(object message, Exception exception) ???????{ ???????????log.Error(message, exception); ???????} ???????public static void ErrorFormatted(string format, params object[] args) ???????{ ???????????log.ErrorFormat(format, args); ???????} ???????public static void Fatal(object message) ???????{ ???????????log.Fatal(message); ???????} ???????public static void Fatal(object message, Exception exception) ???????{ ???????????log.Fatal(message, exception); ???????} ???????public static void FatalFormatted(string format, params object[] args) ???????{ ???????????log.FatalFormat(format, args); ???????} ???}
9 使用
10 效果
实例链接:http://download.csdn.net/download/w76161501/10046892
LogNet4
原文地址:http://www.cnblogs.com/wangboke/p/7762032.html