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之旅

  • 相关阅读:
    linux三剑客之grep
    MySQL练习(1)
    appium获取toast方法
    Could not parse UiSelector argument: 'XXX' is not a string 错误解决办法
    基于python的几种排序算法的实现
    生成allure测试报告之后,服务器端口无法访问查看生成的report,可能是这样引起的。
    通过源码看原理之 selenium
    如何查看浏览器记住的密码
    传智播客JavaWeb day09-mysql入门、数据库操作、数据库表操作、数据行操作
    SQLServer数据库表架构和数据保存成sql文件
  • 原文地址:https://www.cnblogs.com/meiCode/p/5168398.html
Copyright © 2011-2022 走看看