Log4Net配置

简介:

  Log4Net是用来记录日志,可以将程序运行过程中的信息输出到一些地方(文件、数据库、EventLog等),日志就是程序的黑匣子,可以通过日志查看系统的运行过程,从而发现系统的问题。

  日志的作用:将运行过程的步骤、成功失败记录下来,将关键性的数据记录下来分析系统问题所在。

演示:

第一步:官网下载类库

地址:http://logging.apache.org/log4net/download_log4net.cgi

也可以到我百度云盘下载:

链接:https://pan.baidu.com/s/1OOjRwz6K2_ImeTGCz9p-nQ
提取码:37re

第二步:程序引入第三方类库

第三步:配置app.config

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <configuration>
 3   <log4net>
 4     <logger name="logerror">
 5       <level value="ERROR" />
 6       <appender-ref ref="ErrorAppender" />
 7     </logger>
 8     <logger name="loginfo">
 9       <level value="INFO" />
10       <appender-ref ref="InfoAppender" />
11     </logger>
12     <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender">
13       <param name="File" value="Log\\LogError\\" />
14       <param name="AppendToFile" value="true" />
15       <param name="MaxSizeRollBackups" value="100" />
16       <param name="MaxFileSize" value="10240" />
17       <param name="StaticLogFileName" value="false" />
18       <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
19       <param name="RollingStyle" value="Date" />
20       <layout type="log4net.Layout.PatternLayout">
21         <param name="ConversionPattern" value="%n异常时间:%d %n异常级别:%-5p%n异常内容:%m%n" />
22       </layout>
23       <!--&lt; &gt; = <> %n = 回车-->
24     </appender>
25     <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender">
26       <param name="File" value="Log\\LogInfo\\" />
27       <param name="AppendToFile" value="true" />
28       <param name="MaxFileSize" value="10240" />
29       <param name="MaxSizeRollBackups" value="100" />
30       <param name="StaticLogFileName" value="false" />
31       <param name="DatePattern" value="yyyyMMdd&quot;.txt&quot;" />
32       <param name="RollingStyle" value="Date" />
33       <layout type="log4net.Layout.PatternLayout">
34         <param name="ConversionPattern" value="日志时间:%d %n日志级别:%-5p  %n日志内容:%m%n%n" />
35       </layout>
36     </appender>
37   </log4net>
38 </configuration>

第四步:在AssemblyInfo.cs 注册config

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

第五步:日志文件帮助类

 1 using System;
 2 using System.Collections.Generic;
 3 using System.IO;
 4 using System.Linq;
 5 using System.Text;
 6 using System.Threading.Tasks;
 7 
 8 namespace Log4NetDemo
 9 {
10     public class LogHelper
11     {
12         private LogHelper()
13         {
14 
15         }
16 
17         public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");
18 
19         public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");
20 
21         public static void SetConfig()
22         {
23             log4net.Config.XmlConfigurator.Configure();
24         }
25 
26         public static void SetConfig(FileInfo configFile)
27         {
28             log4net.Config.XmlConfigurator.Configure(configFile);
29         }
30 
31         public static void WriteLog(string info)
32         {
33             if (loginfo.IsInfoEnabled)
34             {
35                 loginfo.Info(info);
36             }
37         }
38 
39         public static void WriteLog(string info, Exception se)
40         {
41             if (logerror.IsErrorEnabled)
42             {
43                 logerror.Error(info, se);
44             }
45         }
46     }
47 }

第六步:执行

 1 using System;
 2 using System.Windows.Forms;
 3 
 4 namespace Log4NetDemo
 5 {
 6     public partial class Form1 : Form
 7     {
 8         public Form1()
 9         {
10             InitializeComponent();
11         }
12 
13         private void button1_Click(object sender, EventArgs e)
14         {
15             try
16             {
17                 LogHelper.WriteLog("正常日志记录!");
18                 int a = Convert.ToInt32("b");
19             }
20             catch (Exception ex)
21             {
22                 LogHelper.WriteLog("错误日志记录!", ex);
23                 MessageBox.Show("ok");
24             }
25         }
26     }
27 }

 效果

项目:

链接:https://pan.baidu.com/s/1WFJbbDudHuXYWYydIjowAA
提取码:4pzq 

posted @ 2019-08-20 22:17  陈彦斌  阅读(385)  评论(0编辑  收藏  举报