log4net使用

平时项目里一直都有在使用log4net作为日志记录模块,当时一直都没有去理解log4net的配置文件信息。今天抽出了一点时间来看了看配置文件信息。

log4net配置文件信息:

    <log4net>
      <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
        <param name="File" value="Log\"/>
        <param name="AppendToFile" value="true"/>
        <param name="MaxSizeRollBackups" value="100"/>
        <param name="MaxFileSize" value="10240"/>
        <param name="StaticLogFileName" value="false"/>
        <param name="DatePattern" value="yyyyMMdd"/>
        <param name="RollingStyle" value="Date"/>
        <layout type="log4net.Layout.PatternLayout">
          <param name="ConversionPattern" value="%n异常时间:%d [%t] %n异常级别:%-5p %n异 常 类:%c [%x] %n%m %n"/>
        </layout>
      </appender>
      <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
        <param name="File" value="Log\"/>
        <param name="AppendToFile" value="true"/>
        <param name="MaxSizeRollBackups" value="100"/>
        <param name="MaxFileSize" value="10240"/>
        <param name="StaticLogFileName" value="false"/>
        <param name="DatePattern" value="yyyyMMdd"/>
        <param name="RollingStyle" value="Date"/>
        <layout type="log4net.Layout.PatternLayout">
          <param name="ConversionPattern" value="%n日志时间:%d [%t] %n日志级别:%-5p %n日 志 类:%c [%x] %n%m %n"/>
        </layout>
      </appender>
      <logger name="logerror">
        <level value="ERROR"/>
        <appender-ref ref="ErrorAppender"/>
      </logger>
      <logger name="loginfo">
        <level value="INFO"/>
        <appender-ref ref="InfoAppender"/>
      </logger>
    </log4net>
一个appender节点,作为一种日志类型的配置,可以根据param参数,很方便地配置文件大小,是否为附加错误信息等等配置信息。
一个logger节点,作为一个具体日志对象的设置,根据不同的名称,可以设置和选择不同的日志记录方式。

当然仅仅有配置文件是不够的,我们还需要给log4net增加Helper类。
    public class Log4Helper
    {
        public Log4Helper()
        { }

        private static readonly ILog logerror = LogManager.GetLogger("logerror");
        private static readonly ILog loginfo = LogManager.GetLogger("loginfo");

        public static void AddError(string errMsg)
        {
            logerror.Error(errMsg);
        }

        public static void AddError(Exception ex)
        {
            logerror.Error(Environment.NewLine + ex.Message + Environment.NewLine + ex.ToString());
        }

        public static void AddError(string errMsg, Exception ex)
        {
            logerror.Error(errMsg + Environment.NewLine + ex.Message + Environment.NewLine + ex.ToString());
        }

        public static void AddInfo(string infoMsg)
        {
            loginfo.Info(infoMsg);
        }

        public static void AddInfo(string infoMsg, Exception ex)
        {
            loginfo.Info(infoMsg + Environment.NewLine + ex.Message + Environment.NewLine + ex.ToString());
        }
    }

在Helper类的帮助下,我们可以选择不同的日志记录方式,记录不同的日志信息。

写于 2014-01-08

原文地址:https://www.cnblogs.com/hduwbf/p/6201858.html