C# 日志管理框架:Common.Logging和log4net
01
—
DLL引用
?common logging是一個通用日志接口框架,log4net是一個強大的具體實現框架. common logging可以把輸出連接到其他非log類上, 如EntLib的日志、NLog等?????????????
?
項目中需要引入的DLL:
Common.Logging.dll
Common.Logging.Core.dll
Common.Logging.Log4Net1213.dll
log4net.dll
Common.Logging.log4net1213.dll和log4net.dll的版本需要匹配
以上幾個庫直接從NUGET上點擊安裝Common.Logging.log4net1213.dll,其它的幾個庫會自動作為依賴項目安裝都程序集下,如下圖
02
—
配置說明
將項目的app.config文件修改如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration><configSections><sectionGroup name="common"><section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" /></sectionGroup><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/></configSections><common><logging><factoryAdapter type="Common.Logging.Log4Net.Log4NetLoggerFactoryAdapter, Common.Logging.Log4Net1213"><arg key="configType" value="INLINE" /></factoryAdapter></logging></common><log4net><appender name="LogFileAppender" type="log4net.Appender.FileAppender"><param name="File" value="log.txt"/><param name="datePattern" value="MM-dd HH:mm"/><param name="AppendToFile" value="true"/><layout type="log4net.Layout.PatternLayout"><param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n"/></layout></appender><root><level value="DEBUG" /><appender-ref ref="LogFileAppender" /></root></log4net><startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" /></startup> </configuration>簡要說明:
①.?<arg key="configType" value="INLINE" /> :?這個表示log4net的配置直接寫在配置文件里
如果配置文件寫在其它地方,可以改成
<arg key="configType" value="FILE-WATCH" />
<arg key="configFile" value="~/log4net.config" />
以上配置表示將log4net的配置放到單獨的文件中
②一個root日志記錄器,log4net只允許一個root日志記錄器,用于做全局日志輸出;
<root><level value="DEBUG" /><appender-ref ref="LogFileAppender" /></root>其中:<level value="ALL" />表示記錄器會將所有級別的日志提交給這里配置的附加器
這里配置了一個附加器:LogFileAppender(配置文件中的appender節點)
附加器(appender)可以定義多個,它只是一個聲明,是否使用還是要看日志記錄器是否引用了。沒有配置appender(附加器)將不會輸出日志
03
—
用法舉例
定義:其中T為當前類名稱
運行結果:
參考鏈接:
https://www.cnblogs.com/heys/p/5787123.html
https://www.shuzhiduo.com/A/QV5ZYko7Jy/
小編微信:mm1552923
公眾號:dotNet編程大全
總結
以上是生活随笔為你收集整理的C# 日志管理框架:Common.Logging和log4net的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 杨中科的.NET 6新书的出版进度汇报
- 下一篇: 我开发了一个对.NET程序进行瘦身的工具