log4net 配置的例子

web.config 文件中加入:


  <configSections>
    <!-- log4net 日志配置. -->
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
  </configSections>

 

  <!-- log4net 日志配置. -->
  <log4net>
    <root>
   <!--  当前的记录日志的级别. -->
      <level value="INFO" />     
   
      <appender-ref ref="RollingFileAppender_DEBUG" />
      <appender-ref ref="RollingFileAppender_INFO" />
      <appender-ref ref="RollingFileAppender_WARN" />
      <appender-ref ref="RollingFileAppender_ERROR" />
    </root>

    <appender name="RollingFileAppender_DEBUG" type="log4net.Appender.RollingFileAppender">
      <!--  日志文件放到哪个目录下  -->
      <file value="MyLogFile\" />
      <appendToFile value="true" />
   <!-- 每天产生一个日志文件 -->
      <rollingStyle value="Date" />
   <!-- 产生的日志文件形式为:  YYYYMM\Log_DEBUG_yyyyMMdd.csv 的形式 (也就是每个月一个目录,这个目录下放当月的每一天的日志文件)  -->
      <datePattern value="yyyyMM\\&quot;Log_DEBUG_&quot;yyyyMMdd&quot;.csv&quot;" />
      <staticLogFileName value="false" />
   
   <!-- 输出日志的内容: "日期 时间",  "日志级别",  "日志来源" , "日志信息" -->
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="&quot;%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}&quot;,&quot;%level&quot;,&quot;%logger&quot;,&quot;%message&quot;%newline" />
      </layout>
   
   <!-- 本日志文件, 记录的日志范围是  DEBUG  to  DEBUG  ( 如果偷懒,只用一个文件的话,那么这里就直接 DEBUG to ERROR ) -->
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMax" value="DEBUG" />
        <param name="LevelMin" value="DEBUG" />
      </filter>
    </appender>

 
 <!--  
 下面的配置内容, 与上面的基本一样, 区别在于 文件名, 与记录日志的级别, 因此就不重复写 注释信息了。 
 配置的目的,是  DEBUG、INFO、WARN、ERROR 分别分4个文件独立存放。 每天自动更新。
 开发环境下,是把 日志级别调整为  DEBUG 或 INFO
 实际运行环境下,是把 日志级别调整为  INFO 或 WARN
 -->
    <appender name="RollingFileAppender_INFO" type="log4net.Appender.RollingFileAppender">
      <file value="MyLogFile\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMM\\&quot;Log_INFO_&quot;yyyyMMdd&quot;.csv&quot;" />
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="&quot;%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}&quot;,&quot;%level&quot;,&quot;%logger&quot;,&quot;%message&quot;%newline" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMax" value="INFO" />
        <param name="LevelMin" value="INFO" />
      </filter>
    </appender>

    <appender name="RollingFileAppender_WARN" type="log4net.Appender.RollingFileAppender">
      <file value="MyLogFile\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMM\\&quot;Log_WARN_&quot;yyyyMMdd&quot;.csv&quot;" />
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="&quot;%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}&quot;,&quot;%level&quot;,&quot;%logger&quot;,&quot;%message&quot;%newline" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMax" value="WARN" />
        <param name="LevelMin" value="WARN" />
      </filter>
    </appender>

    <appender name="RollingFileAppender_ERROR" type="log4net.Appender.RollingFileAppender">
      <file value="MyLogFile\" />
      <appendToFile value="true" />
      <rollingStyle value="Date" />
      <datePattern value="yyyyMM\\&quot;Log_ERROR_&quot;yyyyMMdd&quot;.csv&quot;" />
      <staticLogFileName value="false" />
      <layout type="log4net.Layout.PatternLayout">
        <conversionPattern value="&quot;%date{yyyy'-'MM'-'dd HH':'mm':'ss'.'fff}&quot;,&quot;%level&quot;,&quot;%logger&quot;,&quot;%message&quot;%newline" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMax" value="ERROR" />
        <param name="LevelMin" value="ERROR" />
      </filter>
    </appender>

  </log4net>

 

 

Global.asax   文件中加入:


    void Application_Start(object sender, EventArgs e) 
    {
        //在应用程序启动时运行的代码
        System.Diagnostics.Debug.WriteLine("Global.asax  Application_Start ... ... ");
        string webConfigFile = Server.MapPath("web.config");
        
        if (System.IO.File.Exists(webConfigFile))
        {
            System.Diagnostics.Debug.WriteLine("log4net.Config.XmlConfigurator.Configure...");
           log4net.Config.XmlConfigurator.Configure(new System.IO.FileInfo(webConfigFile));
        }
    }

 

页面.aspx.cs 文件中加入:


using log4net;


public partial class 页面 : System.Web.UI.Page
{

    /// <summary>
    /// 日志处理类.
    /// </summary>
    private ILog logger = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

 

    protected void Page_Load(object sender, EventArgs e)
    {
        logger.Info("Test...");
    }

}   

posted @ 2013-11-09 11:42  在路上·稻草人  阅读(275)  评论(0编辑  收藏  举报