C# 使用Log4net添加日志记录的方法
作者:Mculover666 时间:2021-11-16 01:57:23
一、Log4net
官方网站:https://logging.apache.org/log4net/。
下载二进制dll库:
包中提供了针对各个版本的dll库:
二、使用日志库
1. 添加库
复制对应的库文件到项目中:
2. 配置log4net
2.1. 创建配置文件
添加后修改该文件设置:
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. 结果
运行,点击按钮生成日志,在软件运行目录下找到日志文件:
来源:https://blog.csdn.net/Mculover666/article/details/124474878
标签:C#,Log4net,日志
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
浅谈Android ASM自动埋点方案实践
2021-10-19 22:01:18
![](https://img.aspxhome.com/file/2023/4/101824_0s.png)
Go&java算法之最大数示例详解
2023-10-30 08:54:56
C#设计模式之工厂模式
2023-07-10 13:43:33
![](https://img.aspxhome.com/file/2023/4/83224_0s.jpg)
基于eclipse.ini内存设置的问题详解
2021-08-25 02:56:55
SpringBoot中如何对actuator进行关闭
2022-11-30 01:56:37
![](https://img.aspxhome.com/file/2023/9/62349_0s.png)
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
![](https://img.aspxhome.com/file/2023/2/61642_0s.png)
Android中通过Notification&NotificationManager实现消息通知
2023-01-01 16:57:05
![](https://img.aspxhome.com/file/2023/7/90187_0s.png)
Java递归运行的机制:递归的微观解读图文分析
2022-09-24 20:04:09
![](https://img.aspxhome.com/file/2023/5/73035_0s.png)
解决IDEA右键没有创建新的package选项的情况
2022-08-12 03:45:45
![](https://img.aspxhome.com/file/2023/5/77465_0s.jpg)
Java super关键字的使用详解
2021-11-30 13:40:43
![](https://img.aspxhome.com/file/2023/0/60780_0s.jpg)
基于SqlSessionFactory的openSession方法使用
2023-02-26 23:10:15
![](https://img.aspxhome.com/file/2023/5/81195_0s.png)
mybatis根据表逆向自动化生成代码的实现
2023-03-12 15:39:02
![](https://img.aspxhome.com/file/2023/9/61079_0s.png)
Winform之TextBox输入日期格式验证yyyy-mm-dd
2023-04-14 21:35:05