Log4net 教程

一、Log4net 教程

在CodeProject上找到一篇关于Log4net的教程:log4net Tutorial,这篇博客的作者是:Tim Corey
,对应源代码地址为:
https://github.com/TimCorey/Log4netTutorial,视频地址为:Application Logging in C#: The log4net tutorial
另外,log4net 主页:http://logging.apache.org/log4net/

二、Log4net的使用

Logenet是一个C#的日志库,很方便我们在程序中记录日志,包括日志级别,将日志打印到控制台,或者文件中。

1、在C#控制台程序中使用log4net

  1. 首先使用VS2017创建一个基于C#的控制台应用程序,项目名称为:Log4netTutorial
  2. 添加log4net项目依赖,
    在log4net项目中,【引用】-> 鼠标右键单击 -> 【管理 NuGet 程序包(N)】,或者点击【项目】菜单 -> 【管理 NuGet 程序包(N)】,
    然后在左边的【浏览】Tab页中,输入log4net,然后安装即可。截止2023年12月23日log4net的最新版本为:2.0.15。如下图所示
    Log4net 教程_第1张图片

添加log4net依赖之后,packages.config文件内容如下:



  

  1. App.config配置文件中添加关于log4net的相关配置如下:
    App.config默认配置为:


     
        
    

添加log4net配置之后的App.config文件如下:



	
		
  1. Program.cs主程序中引用log4net
    (1)、添加xml配置声明:
[assembly: log4net.Config.XmlConfigurator(Watch = true)]

(2)、在Program类中创建一个log4net的静态对象:

private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

(3)、在Main函数中使用第(2)步中的logger对象进行日志打印:

logger.Debug("Hello lognet4 tutorial");
logger.Info("Maintenance: water pump turned on");
logger.Warn("Maintenance: the water pump is getting hot");
logger.Error("MonSysPerf.dll load error!");
logger.Fatal("explorer hung");

最终完整的Program.cs文件如下:

using System;


[assembly: log4net.Config.XmlConfigurator(Watch = true)]

namespace Log4netTutorial
{
    class Program
    {
        private static readonly log4net.ILog logger = log4net.LogManager.GetLogger(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);

        static void Main(string[] args)
        {
            logger.Debug("Hello lognet4 tutorial");
            logger.Info("Maintenance: water pump turned on");
            logger.Warn("Maintenance: the water pump is getting hot");
            logger.Error("MonSysPerf.dll load error!");
            logger.Fatal("explorer hung");

            Console.ReadLine();
        }
    }
}

运行上述程序,运行结果如下图所示:
Log4net 教程_第2张图片

三、参考资料

  • Application Logging in C#: The log4net tutorial视频地址
  • log4net教程
  • log4net主页
  • Log4netTutorial源代码地址
  • Apache log4net™ Config Examples
  • Apache log4net™ SDK Refrerence

你可能感兴趣的:(log4net,c#)