前提引用Log4Net.dll文件
1、
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "Web.config", Watch = true)]
上述代码写到AssemblyInfo.cs文件中
2、Global.asax文件中,Application_Start方法中添加对Log4Net的初始化代码如下:
string l4net = Server.MapPath("~/Web.config");
log4net.Config.XmlConfigurator.ConfigureAndWatch(new System.IO.FileInfo(l4net));
3、配置web.config文件,内容如下,部分配置说明,详见注释
1
<!--该项配置必须放在configuration的第一个节点的位置上-->
<configSections> 2 <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> 3 </configSections> 4 5 <log4net debug="true"> 6 <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> 7 <filter type="log4net.Filter.LevelMatchFilter"> 8 <levelToMatch value="ERROR" /> 9 </filter> 10 <filter type="log4net.Filter.DenyAllFilter" /> 11 <!--日志文件名开头--> 12 <file value="..\Logs\Error\" /> 13 <!--是否追加到文件--> 14 <appendToFile value="true" /> 15 <!--混合使用日期和文件大小变换日志文件名--> 16 <rollingStyle value="Composite" /> 17 <!--最大变换数量--> 18 <maxSizeRollBackups value="10"/> 19 <!--最大文件大小--> 20 <maximumFileSize value="500KB"/> 21 <!--日期的格式 StaticLogFileName的值如果为true, 22 则当前日志文件(相对于历史日志文件而言)的文件名只取File参数。 23 如果为false,则文件名取File+DatePattern。--> 24 <staticLogFileName value="false" /> 25 <!--下面格式 日志可以按照月份归档--> 26 <datePattern value="yyyy-MM/yyyy-MM-dd.'log'" /> 27 <layout type="log4net.Layout.PatternLayout"> 28 <conversionPattern value="%date %logger : %message%newline" /> 29 </layout> 30 </appender> 31 <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> 32 <filter type="log4net.Filter.LevelMatchFilter"> 33 <levelToMatch value="INFO" /> 34 </filter> 35 <!--不符合info条件的日志,不做输出--> 36 <filter type="log4net.Filter.DenyAllFilter" /> 37 <!--日志文件名开头--> 38 <file value="..\Logs\Info\" /> 39 <!--是否追加到文件--> 40 <appendToFile value="true" /> 41 <!--混合使用日期和文件大小变换日志文件名--> 42 <rollingStyle value="Composite" /> 43 <!--最大变换数量--> 44 <maxSizeRollBackups value="10"/> 45 <!--最大文件大小--> 46 <maximumFileSize value="500KB"/> 47 <!--日期的格式--> 48 <staticLogFileName value="false" /> 49 <datePattern value="yyyy-MM-dd" /> 50 <layout type="log4net.Layout.PatternLayout"> 51 <conversionPattern value="%date %logger : %message%newline" /> 52 </layout> 53 </appender> 54 <root> 55 <level value="All" /> 56 <appender-ref ref="ErrorAppender" /> 57 <appender-ref ref="InfoAppender" /> 58 </root> 59 </log4net>
4、添加LogHelper.cs文件
1 public class LogHelper 2 { 3 public static void debug(string message) 4 { 5 log4net.ILog log = log4net.LogManager.GetLogger("LogOut"); 6 if (log.IsDebugEnabled) 7 { 8 log.Debug(message); 9 } 10 log = null; 11 } 12 13 public static void error(string message) 14 { 15 log4net.ILog log = log4net.LogManager.GetLogger("LogOut"); 16 if (log.IsErrorEnabled) 17 { 18 log.Error(message); 19 } 20 log = null; 21 } 22 23 public static void fatal(string message) 24 { 25 26 log4net.ILog log = log4net.LogManager.GetLogger("LogOut"); 27 if (log.IsFatalEnabled) 28 { 29 log.Fatal(message); 30 } 31 log = null; 32 } 33 public static void info(string message) 34 { 35 log4net.ILog log = log4net.LogManager.GetLogger("LogOut"); 36 if (log.IsInfoEnabled) 37 { 38 log.Info(message); 39 } 40 log = null; 41 } 42 43 public static void warn(string message) 44 { 45 log4net.ILog log = log4net.LogManager.GetLogger("LogOut"); 46 if (log.IsWarnEnabled) 47 { 48 log.Warn(message); 49 } 50 log = null; 51 } 52 }
至此,就可以开启你的Log4net之旅