C# 使用Log4net添加日志记录的方法

作者:Mculover666 时间:2021-11-16 01:57:23 

一、Log4net

官方网站:https://logging.apache.org/log4net/。

下载二进制dll库:

C# 使用Log4net添加日志记录的方法

包中提供了针对各个版本的dll库:

C# 使用Log4net添加日志记录的方法

二、使用日志库

1. 添加库

复制对应的库文件到项目中:

C# 使用Log4net添加日志记录的方法

C# 使用Log4net添加日志记录的方法

2. 配置log4net

2.1. 创建配置文件

C# 使用Log4net添加日志记录的方法

添加后修改该文件设置:

C# 使用Log4net添加日志记录的方法

2.2. 修改配置文件

替换文件为以下内容,设置为日志文件输出:

<?xml version="1.0" encoding="utf-8"?>
<log4net>
<!-- 文件存储日志配置 -->
<appender name="RollingFile" type="log4net.Appender.RollingFileAppender">
<!-- 保存文件的名称 -->
<file value="download.log" />
<appendToFile value="true" />
<!-- 文件的编码方式 -->
<param name="Encoding" value="UTF-8"/>
<!-- 每个文件的大小 -->
<maximumFileSize value="100MB" />
<!-- 保存文件数量 -->
<maxSizeRollBackups value="10" />
<!-- 日志输出格式 -->
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="%date %-5level [%thread] %logger (%file:%line) - %message%newline" />
</layout>
</appender>

<root>
<level value="ALL" />
<appender-ref ref="Console" />
<appender-ref ref="RollingFile" />
</root>
</log4net>

2.3. 生效配置文件

修改 AssemblyInfo.cs 文件,添加这行:

// 指定log4net的配置文件
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", Watch = true)]

3. 使用log4net

引用库:

using log4net;

创建一个按钮,在按钮回调函数中测试log4net的使用:

namespace Log4netTest
{
   public partial class Form1 : Form
   {
       private static ILog log = log4net.LogManager.GetLogger("Test");

public Form1()
       {
           InitializeComponent();
       }

private void button1_Click(object sender, EventArgs e)
       {
           log.Error("这是一个错误", new Exception("发生异常!"));
           log.Fatal("这是一个致命错误", new Exception("发生致命错误"));
           log.Info("这是一个普通信息");
           log.Warn("这是一个警告");
           log.Debug("这是一个调试信息");
       }
   }
}

4. 结果

运行,点击按钮生成日志,在软件运行目录下找到日志文件:

C# 使用Log4net添加日志记录的方法

来源:https://blog.csdn.net/Mculover666/article/details/124474878

标签:C#,Log4net,日志
0
投稿

猜你喜欢

  • 浅谈Android ASM自动埋点方案实践

    2021-10-19 22:01:18
  • Go&java算法之最大数示例详解

    2023-10-30 08:54:56
  • C#设计模式之工厂模式

    2023-07-10 13:43:33
  • 基于eclipse.ini内存设置的问题详解

    2021-08-25 02:56:55
  • SpringBoot中如何对actuator进行关闭

    2022-11-30 01:56:37
  • SpringMvc后台接收json数据中文乱码问题详解

    2022-12-03 00:08:58
  • C#后台创建控件并获取值的方法

    2022-10-20 08:39:46
  • 在Flutter中制作翻转卡片动画的完整实例代码

    2023-06-23 23:31:21
  • C#实现的XML操作类实例

    2022-04-04 12:17:37
  • Android 资源 id详解及的动态获取

    2023-06-25 00:32:21
  • springmvc中下载中文文件名称为下划线的解决方案

    2023-11-25 22:28:53
  • 如何完成spring的最小化XML配置

    2022-02-12 11:33:58
  • SpringBoot返回Json对象报错(返回对象为空{})

    2022-06-30 03:31:19
  • Android中通过Notification&NotificationManager实现消息通知

    2023-01-01 16:57:05
  • Java递归运行的机制:递归的微观解读图文分析

    2022-09-24 20:04:09
  • 解决IDEA右键没有创建新的package选项的情况

    2022-08-12 03:45:45
  • Java super关键字的使用详解

    2021-11-30 13:40:43
  • 基于SqlSessionFactory的openSession方法使用

    2023-02-26 23:10:15
  • mybatis根据表逆向自动化生成代码的实现

    2023-03-12 15:39:02
  • Winform之TextBox输入日期格式验证yyyy-mm-dd

    2023-04-14 21:35:05
  • asp之家 软件编程 m.aspxhome.com