C#下log4net日志记录使用实例完整教程

发布时间 2023-09-04 18:40:26作者: soliang

C#下log4net日志记录使用实例完整教程
1 log4net
  1.1 log4net简介
  1.2 log4net源码下载
  1.3 log4net源码编译
    1.3.1 编译工具
    1.3.2 编译步骤
      1.3.2.1 解压log4net源码apache-log4net-source-2.0.10.zip
      1.3.2.2 找到文件“……\log4net解压目录\src\log4net.sln”
      1.3.2.3 Visual Studio打开“log4net.sln”
      1.3.2.4 Visual Studio中设置工程等细节
2 log4net的配置
  2.1、工程中添加引用
  2.2、工程中创建配置文件“log4net.config”
  2.3、配置文件“AssemblyInfo.cs”中添加配置信息
3 log4net的使用
  3.1、主程序入口日志配置
  3.2、使用日志

本教程基于C#编程语言,借助Visual Studio工具,通过编译log4net源码后,进一步详细进行log4net进行日志记录教程。通过本教程,你将掌握使用C#的log4net进行日志记录。
1 log4net
1.1 log4net简介
log4net的官网:http://logging.apache.org/log4net/index.html

log4net库是一个工具,可帮助程序员将日志语句输出到各种输出目标。log4net是优秀的Apache log4j™框架到Microsoft®.NET运行时的移植。我们利用.NET运行时中的新功能,使该框架在本质上与原始log4j相似。
log4net是帮助程序员将日志语句输出到各种输出目标的工具。如果应用程序出现问题,启用日志记录将很有帮助,以便可以定位问题。使用log4net,可以在运行时启用日志记录,而无需修改应用程序二进制文件。log4net软件包的设计目的是使日志语句可以保留在附带的代码中,而不会产生较高的性能成本。因此,日志记录(或不是日志记录)的速度至关重要。
同时,日志输出量如此之大,以至于很快变得不堪重负。log4net的独特功能之一是分层记录器的概念。使用这些记录器,可以有选择地控制以任意粒度输出的日志语句。

1.2 log4net源码下载
log4net源码下载地址:http://logging.apache.org/log4net/download_log4net.html

本教程使用的版本是:log4net 2.0.10
若不想在官网下载,可以直接在本人博客上进行下载,下载地址为:apache-log4net-source-2.0.10.zip

1.3 log4net源码编译
1.3.1 编译工具
使用Visual Studio进行编译,具体版本为:Visual Studio2019。

1.3.2 编译步骤
1.3.2.1 解压log4net源码apache-log4net-source-2.0.10.zip


1.3.2.2 找到文件“……\log4net解压目录\src\log4net.sln”


1.3.2.3 Visual Studio打开“log4net.sln”


1.3.2.4 Visual Studio中设置工程等细节
本案例编译release下的log4net,具体设置如下:
(1)选择菜单中的“配置管理器”菜单;
(2)选择“活动解决方案配置”为“Release”;
(3)选择“活动解决方案平台”为“Any CPU”;
(4)针对项目“log4net”的“配置”选项为“Release”;
(5)针对项目“log4net”的“平台”选项为“Any CPU”;
(6)针对项目“log4net”,勾选“生成”按钮。


2 log4net的配置
2.1、工程中添加引用
工程中添加log4net.dll的引用,具体步骤如下:
目标解决方案->目标工程->引用->添加引用->浏览->浏览,选择目标文件(log4net.dll)后点击确定即可。


2.1、工程中创建配置文件“log4net.config”
在工程中创建配置文件“log4net.config”,配置文件“log4net.config”内容具体如下:

配置文件“log4net.config”可在下面地址进行下载:https://download.csdn.net/download/Zhangyanfeng1/13679438

2.2、配置文件“AssemblyInfo.cs”中添加配置信息
在工程的配置文件中添加配置信息,具体如下:
目标解决方案->目标工程->Properties->AssemblyInfo.cs,添加如下信息:

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


3 log4net的使用
3.1、主程序入口日志配置
使用日志前进行日志配置,具体如下:
1、引用命名空间:using log4net;//使用log4net
2、配置日志:log4net.Config.XmlConfigurator.Configure();

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Windows.Forms;
 5 using System.Threading;
 6 using log4net;//使用log4net
 7 
 8 namespace ZYF
 9 {
10     static class Program
11     {
12         /// <summary>
13         /// 应用程序的主入口点。
14         /// </summary>
15         [STAThread]
16         static void Main(string[] args)
17         {
18             Application.EnableVisualStyles();
19             Application.SetCompatibleTextRenderingDefault(false);
20 
21             //配置日志
22             log4net.Config.XmlConfigurator.Configure();
23 
24             Application.Run(new ViewForm());
25         }
26     }
27 }

 

3.2、使用日志
在使用日志时,先引用命名空间:using log4net;//使用log4net,然后开始使用日志,例如:

 1 using System;
 2 using log4net;//使用log4net
 3 //省略若干行代码
 4 
 5 namespace ZYF
 6 {
 7     public partial class ViewForm : Form
 8     {
 9         /// <summary>
10         /// log4net日志使用dmeo
11         /// </summary>
12         public void Demo_log4net()
13         {
14             ILog logFuntion = LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
15             logFuntion.Debug("我是日志Debug1");
16             logFuntion.Error("我是日志Error2");
17             logFuntion.Fatal("我是日志Fatal3");
18             logFuntion.Info("我是日志Info4");
19             logFuntion.Warn("我是日志Warn5");
20         }
21 
22         public ViewForm()
23         {
24             Demo_log4net();
25             InitializeComponent();
26         
27         //省略若干行代码
28       }        
29     }
30 }

日志使用效果如下:

 

20201213162704609.png (1367×173)

 

————————————————
本文转载自CSDN博主「Zhangyanfeng1」原文链接:https://blog.csdn.net/Zhangyanfeng1/article/details/109212170