你的位置:首页 > ASP.net教程

[ASP.net教程]log4net使用记录


1、在程序中引用log4net.dll

2、添加-新建配置文件Log4Net.config,并在文件属性中“复制到输出目录”选中“始终复制”,文件内容如下:

<??><configuration>  <!--Log日记配置--> <configSections>  <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections>  <log4net>  <root></root>  <!--程序中只实例化一个logger,名字为LogHelper-->  <logger name ="LogHelper">   <!--输出所有信息,这里只使用了Info和Error-->   <level value="ALL"/>   <!--两个介质名称,对应错误和信息-->   <appender-ref ref="ErrorRollingFileAppender" />   <appender-ref ref="InfoRollingFileAppender" />  </logger>  <!--Info介质设置-->  <appender name="InfoRollingFileAppender" type="log4net.Appender.RollingFileAppender">   <!--定义文件存放位置,Info和Error保存在不同的文件夹,方便理解-->   <file value="Log\\Info\\"/>   <appendToFile value="true"/>   <rollingStyle value="Date"/>   <datePattern value="yyyyMMdd'.txt'"/>   <staticLogFileName value="false"/>   <param name="MaxSizeRollBackups" value="100"/>   <layout type="log4net.Layout.PatternLayout">    <!--输出格式-->    <!--样例:    记录时间:2016-10-11 14:03:00,540     线程ID:[1]     日志级别: ERROR      错误内容    -->    <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别: %-5level %n%m%n"/>   </layout>    <!--输出的等级 INFO-->    <filter type="log4net.Filter.LevelRangeFilter">    <param name="LevelMin" value="INFO" />    <param name="LevelMax" value="INFO" />   </filter>  </appender>  <!--Error介质设置-->  <appender name="ErrorRollingFileAppender" type="log4net.Appender.RollingFileAppender">   <!--定义文件存放位置-->   <file value="Log\\Error\\"/>   <appendToFile value="true"/>   <rollingStyle value="Date"/>   <datePattern value="yyyyMMdd'.txt'"/>   <staticLogFileName value="false"/>   <param name="MaxSizeRollBackups" value="100"/>   <layout type="log4net.Layout.PatternLayout">    <!--输出格式-->    <!--样例:    记录时间:2016-10-11 13:59:00,560     线程ID:[1]     日志级别: INFO      信息内容    -->    <conversionPattern value="%newline %n记录时间:%date %n线程ID:[%thread] %n日志级别: %-5level %n%m%n"/>   </layout>   <!--设置输出的等级 ERROR-->   <filter type="log4net.Filter.LevelRangeFilter">    <param name="LevelMin" value="ERROR" />    <param name="LevelMax" value="ERROR" />   </filter>  </appender> </log4net></configuration>

3、在AssemblyInfo.cs中添加代码,用于调用Log4Net.config:

[assembly: log4net.Config."Log4Net.config", Watch = true)]

4、实现LogHelper,代码如下:

public class LogHelper  {    private static log4net.ILog log = log4net.LogManager.GetLogger("LogHelper");    /// <summary>    /// 整理异常信息    /// </summary>    /// <param name="error"></param>    /// <returns></returns>    private static string Msg(Exception error)    {      string str = "";      if (error != null)      {        str = string.Format("异常类型:{0}\r\n异常消息:{1}\r\n异常信息:{2}\r\n",           error.GetType().Name, error.Message, error.StackTrace);      }      return str;    }    /// <summary>    /// 输出异常信息    /// </summary>    /// <param name="t"></param>    /// <param name="ex"></param>    public static void LogError(Exception ex)    {      log.Error(Msg(ex));    }    /// <summary>    /// 输出日记信息    /// </summary>    /// <param name="str"></param>    public static void LogInfo(string str)    {      log.Info(str);    }  }

 5、至此,可以在代码中方便地使用Log4Net记录信息

try{  throw new Exception("这是一个新异常");}catch(Exception ex){  LogHelper.LogError(ex);} finally{  LogHelper.LogInfo("这是Info");}