C# 使用log4net写日记

一 导入LOG4NET

打开VS2012 工具》》库程序包管理器》》管理解决方案的NuGet程序包,搜索LOG4NET,如下图

二 添加配置文件log4net.config

在配置文件中添加一下代码

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>

  </system.web>
  <configSections>
    <section name="log4net" type="System.Configuration.IgnoreSectionHandler"/>
  </configSections>
  <log4net>
    <logger name="logerror">
      <level value="ERROR" />
      <appender-ref ref="ErrorAppender" />
    </logger>
    <logger name="loginfo">
      <level value="INFO" />
      <appender-ref ref="InfoAppender" />
    </logger>
    <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogError\\" />
      <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&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="%n异常时间:%d %n异常级别:%-5p%n异常内容:%m%n" />
      </layout>
    </appender>
    <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
      <param name="File" value="Log\\LogInfo\\" />
      <param name="AppendToFile" value="true" />
      <param name="MaxFileSize" value="10240" />
      <param name="MaxSizeRollBackups" value="100" />
      <param name="StaticLogFileName" value="false" />
      <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
      <param name="RollingStyle" value="Date" />
      <layout type="log4net.Layout.PatternLayout">
        <param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p  %n日志内容:%m%n%n" />
      </layout>
    </appender>
  </log4net>

</configuration>

三 添加Log4netHelper类

插入代码

 1 using log4net;
 2 
 3 //
 4 ///
 5 
 6 public class Log4netHelper
 7     {
 8         private static readonly ILog loginfo = LogManager.GetLogger("loginfo");
 9 
10         private static readonly ILog logerror = LogManager.GetLogger("logerror");
11         /// <summary>
12         /// 记录错误日志
13         /// </summary>
14         /// <param name="info"></param>
15         /// <param name="ex"></param>
16         public static void WriteErrorLog(string info, Exception ex)
17         {
18             if (logerror.IsErrorEnabled)
19             {
20                 logerror.Error(info, ex);
21             }
22         }
23         /// <summary>
24         /// 记录一般信息
25         /// </summary>
26         /// <param name="info"></param>
27         public static void WriteInfoLog(string info)
28         {
29             if (loginfo.IsInfoEnabled)
30             {
31                 loginfo.Info(info);
32             }
33         }
34 
35     }

四 调用Log4netHelper 的函数

........
.......

try{
    
}
catch (Exception ex)
                    {
                        Log4netHelper.WriteErrorLog("测试", ex);
                    }

 最后一天要添加以下代码

[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]

可以在AssemblyInfo.cs类中添加或在初始化程序中添加

猜你喜欢

转载自www.cnblogs.com/wangyonglai/p/9243267.html