log4net 配置示例

参考网站如下,向原作者致敬。
http://www.cnblogs.com/manhoo/archive/2009/06/25/1510943.html
http://blog.csdn.net/fax5201314/article/details/8283538
http://hi.baidu.com/glaimei/item/09089f4df526a11fc11613a1


0)功能:能够输出五种日志,info, warn,debug, fatal, error. 不同类型的日志文件按日期命名。


1)在<configuration><configSections>后面插入一行:

<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>

2)在</configSections>后面添加log4net节点,内容如下:

 <log4net>
    <root>
      <!--
            <level value="ALL" />
            <appender-ref ref="rootFile" />
            -->
    </root>
    <logger name="italklog">
      <level value="ALL" />
      <appender-ref ref="InfoLoging" />
      <appender-ref ref="WarnLoging"/>
      <appender-ref ref="DebugLoging" />
      <appender-ref ref="FatalLoging" />
      <appender-ref ref="ErrorLoging" />
    </logger>

    <!--INFO 日志-->
    <appender name="InfoLoging" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" value="Log\log_info.txt" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyyMMdd" />
      <param name="StaticLogFileName" value="true" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"  />
        <param name="Header" value="
" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="INFO" />
        <param name="LevelMax" value="INFO" />
      </filter>
    </appender>

    <!-- WARN 日志-->
    <appender name="WarnLoging" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" value="Log\log_warn.txt" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyyMMdd" />
      <param name="StaticLogFileName" value="true" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"  />
        <param name="Header" value="
" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="WARN" />
        <param name="LevelMax" value="WARN" />
      </filter>
    </appender>

    <!-- DEBUG 日志-->
    <appender name="DebugLoging" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" value="Log\log_debug.txt" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyyMMdd" />
      <param name="StaticLogFileName" value="true" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"  />
        <param name="Header" value="
" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="DEBUG" />
        <param name="LevelMax" value="DEBUG" />
      </filter>
    </appender>

    <!-- FATAL 日志-->
    <appender name="FatalLoging" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" value="Log\log_fatal.txt" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyyMMdd" />
      <param name="StaticLogFileName" value="true" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"  />
        <param name="Header" value="
" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="FATAL" />
        <param name="LevelMax" value="FATAL" />
      </filter>
    </appender>
    
    <!--ERROR 日志-->
    <appender name="ErrorLoging" type="log4net.Appender.RollingFileAppender,log4net" >
      <param name="File" value="Log\log_error.txt" />
      <param name="AppendToFile" value="true" />
      <param name="RollingStyle" value="Date" />
      <param name="DatePattern" value="yyyyMMdd" />
      <param name="StaticLogFileName" value="true" />
      <layout type="log4net.Layout.PatternLayout,log4net">
        <param name="ConversionPattern" value="%d{yyyy-MM-dd HH:mm:ss}%newline%message%n" />
        <param name="Header" value="
[Header]
" />
        <param name="Footer" value="[Footer]
" />
      </layout>
      <filter type="log4net.Filter.LevelRangeFilter">
        <param name="LevelMin" value="ERROR" />
        <param name="LevelMax" value="ERROR" />
      </filter>
    </appender>
  </log4net>

3)在项目中添加log4net的Reference引用(下载地址

4)在AssemInfo.cs中最后添加一行:

[assembly:log4net.Config.XmlConfigurator(Watch=true)]

5)添加日志类LogHelper.cs,代码如下:

using System;
using System.IO;

public class LogHelper
{
    private static readonly log4net.ILog log = log4net.LogManager.GetLogger("italklog");

    /// <summary>
    /// 记录 调式信息日志
    /// </summary>
    /// <param name="strLog">调试日志的内容</param>
    public static void Debug(string strLog)
    {
        if (log.IsDebugEnabled)
        {
            log.Debug(strLog);
        }
    }

    /// <summary>
    /// 记录 错误消息日志
    /// </summary>
    /// <param name="strLog">错误消息的内容</param>
    public static void Error(string strLog)
    {
        if (log.IsErrorEnabled)
        {
            log.Error(strLog);
        }
    }

    /// <summary>
    /// 记录 致命信息日志
    /// </summary>
    /// <param name="strLog">致命消息的内容</param>
    public static void Fatal(string strLog)
    {
        if (log.IsFatalEnabled)
        {
            log.Fatal(strLog);
        }
    }

    /// <summary>
    /// 记录 普通信息日志
    /// </summary>
    /// <param name="strLog">普通消息的内容</param>
    public static void Info(string strLog)
    {
        if (log.IsInfoEnabled)
        {
            log.Info(strLog);
        }
    }

    /// <summary>
    /// 记录 警告信息日志
    /// </summary>
    /// <param name="strLog">警告消息的内容</param>
    public static void Warn(string strLog)
    {
        if (log.IsWarnEnabled)
        {
            log.Warn(strLog);
        }
    }
}

6)代码使用使用实例:

LogHelper.Error("对不起,您不能访问该网页!");


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值