首页 > 学院 > 开发设计 > 正文

Log4net集成到MVC+EF框架

2019-11-14 14:27:53
字体:
来源:转载
供稿:网友

前提引用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之旅


发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表