zoukankan      html  css  js  c++  java
  • Log4net 集成到MVC+EF框架

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

  • 相关阅读:
    静态代码块执行顺序
    静态代码块
    方法的定义(实例与静态)
    变量的声明(实例与静态)
    static关键字
    封装2
    线程1
    数组元素的查找——二分法查找
    docker介绍、安装及要素讲解
    渗透测试基础
  • 原文地址:https://www.cnblogs.com/meiCode/p/5168398.html
Copyright © 2011-2022 走看看