平时项目里一直都有在使用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