網(wǎng)站首頁 編程語言 正文
一、Log4net
官方網(wǎng)站:https://logging.apache.org/log4net/。
下載二進(jìn)制dll庫:
包中提供了針對(duì)各個(gè)版本的dll庫:
二、使用日志庫
1. 添加庫
復(fù)制對(duì)應(yīng)的庫文件到項(xiàng)目中:
2. 配置log4net
2.1. 創(chuàng)建配置文件
添加后修改該文件設(shè)置:
2.2. 修改配置文件
替換文件為以下內(nèi)容,設(shè)置為日志文件輸出:
<?xml version="1.0" encoding="utf-8"?> <log4net> <!-- 文件存儲(chǔ)日志配置 --> <appender name="RollingFile" type="log4net.Appender.RollingFileAppender"> <!-- 保存文件的名稱 --> <file value="download.log" /> <appendToFile value="true" /> <!-- 文件的編碼方式 --> <param name="Encoding" value="UTF-8"/> <!-- 每個(gè)文件的大小 --> <maximumFileSize value="100MB" /> <!-- 保存文件數(shù)量 --> <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;
創(chuàng)建一個(gè)按鈕,在按鈕回調(diào)函數(shù)中測(cè)試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("這是一個(gè)錯(cuò)誤", new Exception("發(fā)生異常!")); log.Fatal("這是一個(gè)致命錯(cuò)誤", new Exception("發(fā)生致命錯(cuò)誤")); log.Info("這是一個(gè)普通信息"); log.Warn("這是一個(gè)警告"); log.Debug("這是一個(gè)調(diào)試信息"); } } }
4. 結(jié)果
運(yùn)行,點(diǎn)擊按鈕生成日志,在軟件運(yùn)行目錄下找到日志文件:
原文鏈接:https://blog.csdn.net/Mculover666/article/details/124474878
相關(guān)推薦
- 2022-09-23 基于numpy實(shí)現(xiàn)邏輯回歸_python
- 2022-07-14 C++類和對(duì)象深入探索之分文件編寫點(diǎn)和圓的關(guān)系詳解_C 語言
- 2022-09-30 C#?wpf?Canvas中實(shí)現(xiàn)控件拖動(dòng)調(diào)整大小的示例_C#教程
- 2022-04-02 Android?studio實(shí)現(xiàn)日期?、時(shí)間選擇器與進(jìn)度條_Android
- 2022-07-24 詳解Flutter中StatefulBuilder組件的使用_Android
- 2022-09-30 react?redux的原理以及基礎(chǔ)使用講解_React
- 2022-07-19 簡單認(rèn)清深拷貝和淺拷貝
- 2022-07-26 Python文件處理、os模塊、glob模塊_python
- 最近更新
-
- window11 系統(tǒng)安裝 yarn
- 超詳細(xì)win安裝深度學(xué)習(xí)環(huán)境2025年最新版(
- Linux 中運(yùn)行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲(chǔ)小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎(chǔ)操作-- 運(yùn)算符,流程控制 Flo
- 1. Int 和Integer 的區(qū)別,Jav
- spring @retryable不生效的一種
- Spring Security之認(rèn)證信息的處理
- Spring Security之認(rèn)證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權(quán)
- redisson分布式鎖中waittime的設(shè)
- maven:解決release錯(cuò)誤:Artif
- restTemplate使用總結(jié)
- Spring Security之安全異常處理
- MybatisPlus優(yōu)雅實(shí)現(xiàn)加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務(wù)發(fā)現(xiàn)-Nac
- Spring Security之基于HttpR
- Redis 底層數(shù)據(jù)結(jié)構(gòu)-簡單動(dòng)態(tài)字符串(SD
- arthas操作spring被代理目標(biāo)對(duì)象命令
- Spring中的單例模式應(yīng)用詳解
- 聊聊消息隊(duì)列,發(fā)送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠(yuǎn)程分支