C#使用log4net的3種調(diào)用方法
第一步:下載log4net
右鍵項(xiàng)目引用,進(jìn)入管理NuGet包。
搜索log4net,下載安裝。
第二步:創(chuàng)建LogHelper類(lèi)
public class LogHelper { private LogHelper() { } public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo"); public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror"); public static void SetConfig() { log4net.Config.XmlConfigurator.Configure(); } public static void SetConfig(FileInfo configFile) { log4net.Config.XmlConfigurator.Configure(configFile); } public static void WriteLog(string info) { if (loginfo.IsInfoEnabled) { loginfo.Info(info); } } public static void WriteLog(string info, Exception se) { if (logerror.IsErrorEnabled) { logerror.Error(info, se); } } }
第三步:配置Log4Net并輸出日志,下面介紹三種調(diào)用方法
方法一:在已有App.config中配置Log4Net
App.config代碼如下。
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <!-- log4net的定義 --> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /> </configSections> <log4net> <logger name="logerror"> <level value="ERROR" /> <appender-ref ref="ErrorAppender" /> </logger> <logger name="loginfo"> <level value="INFO" /> <appender-ref ref="InfoAppender" /> </logger> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogError\\" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaxFileSize" value="10240" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".txt"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%n異常時(shí)間:%d %n異常級(jí)別:%-5p%n異常內(nèi)容:%m%n" /> </layout> <!--< > = <> %n = 回車(chē)--> </appender> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogInfo\\" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".txt"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="日志時(shí)間:%d %n日志級(jí)別:%-5p %n日志內(nèi)容:%m%n%n" /> </layout> </appender> </log4net> </configuration>
在項(xiàng)目的 AssemblyInfo.cs 文件中注冊(cè)Config文件
[assembly: log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch = true)]
主程序調(diào)用:
public MainWindow() { InitializeComponent(); LogHelper.WriteLog("我是LogHelper日志輸出:在已有App.config中配置Log4Net"); }
運(yùn)行結(jié)果:
方法二:項(xiàng)目中創(chuàng)建新的log4net.config文件
首先右鍵項(xiàng)目,添加新建項(xiàng),添加新的應(yīng)用程序配置文件log4net.config,log4net配置信息和方法一相同。
log4net.config代碼如下:
<?xml version="1.0" encoding="utf-8" ?> <configuration> <log4net> <logger name="logerror"> <level value="ERROR" /> <appender-ref ref="ErrorAppender" /> </logger> <logger name="loginfo"> <level value="INFO" /> <appender-ref ref="InfoAppender" /> </logger> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogError\\" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaxFileSize" value="10240" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".txt"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%n異常時(shí)間:%d %n異常級(jí)別:%-5p%n異常內(nèi)容:%m%n" /> </layout> <!--< > = <> %n = 回車(chē)--> </appender> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogInfo\\" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".txt"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="日志時(shí)間:%d %n日志級(jí)別:%-5p %n日志內(nèi)容:%m%n%n" /> </layout> </appender> </log4net> </configuration>
再設(shè)置log4net.config的屬性:將 “復(fù)制到輸出目錄” 的值改為 如果較新則復(fù)制。
然后在項(xiàng)目的 AssemblyInfo.cs 文件中注冊(cè)Config文件:
[assembly: log4net.Config.XmlConfigurator(ConfigFile = "log4net.config", ConfigFileExtension = "config", Watch = true)]
ConfigFile: 配置文件名和路徑,包括擴(kuò)展名,文件相對(duì)于程序的根目錄。
ConfigFileExtension:配置文件的后綴名,缺省默認(rèn)時(shí)'config',此屬性不可和ConfigFile屬性公用。
最后主程序調(diào)用:
public MainWindow() { InitializeComponent(); LogHelper.WriteLog("我是LogHelper日志輸出:在項(xiàng)目中創(chuàng)建新的log4net.config文件"); }
運(yùn)行結(jié)果:
方法三:顯示調(diào)用配置文件
首先創(chuàng)建log4net.xml配置文件,代碼如下。
<?xml version="1.0" encoding="utf-8" ?> <configuration> <log4net> <logger name="logerror"> <level value="ERROR" /> <appender-ref ref="ErrorAppender" /> </logger> <logger name="loginfo"> <level value="INFO" /> <appender-ref ref="InfoAppender" /> </logger> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogError\\" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaxFileSize" value="10240" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".txt"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%n異常時(shí)間:%d %n異常級(jí)別:%-5p%n異常內(nèi)容:%m%n" /> </layout> <!--< > = <> %n = 回車(chē)--> </appender> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="Log\\LogInfo\\" /> <param name="AppendToFile" value="true" /> <param name="MaxFileSize" value="10240" /> <param name="MaxSizeRollBackups" value="100" /> <param name="StaticLogFileName" value="false" /> <param name="DatePattern" value="yyyyMMdd".txt"" /> <param name="RollingStyle" value="Date" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="日志時(shí)間:%d %n日志級(jí)別:%-5p %n日志內(nèi)容:%m%n%n" /> </layout> </appender> </log4net> </configuration>
使用LogHelper類(lèi)中SetConfig(FileInfo configFile)方法配置log4net。 log4net.Config.XmlConfigurator.Configure(FileInfo(path)),path為log4net.xml的全路徑。
主程序調(diào)用:
public MainWindow() { InitializeComponent(); LogHelper.SetConfig(new FileInfo("D:\\Log4NetDemo\\log4net.xml")); LogHelper.WriteLog("我是LogHelper日志輸出:顯示調(diào)用"); }
運(yùn)行結(jié)果:
三種調(diào)用方法,都能夠正常打印日志。
以上就是C#使用log4net的3種調(diào)用方法的詳細(xì)內(nèi)容,更多關(guān)于C#使用log4net的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
C#基于Linq和反射實(shí)現(xiàn)數(shù)據(jù)持久化框架Xml4DB詳解
在本篇文章里小編給大家整理的是關(guān)于C#基于Linq和反射實(shí)現(xiàn)數(shù)據(jù)持久化框架Xml4DB相關(guān)知識(shí)點(diǎn),有需要的朋友們學(xué)習(xí)下。2019-08-08字符串替換Replace僅替換第一個(gè)字符串匹配項(xiàng)
C#里面的String.Replace(string,string)方法替換的時(shí)候是替換所有的匹配項(xiàng),我們需要只替換第一個(gè)匹配項(xiàng),寫(xiě)一個(gè)方法來(lái)實(shí)現(xiàn)這個(gè)功能2013-12-12C#獲取客戶端相關(guān)信息實(shí)例總結(jié)
這篇文章主要介紹了C#獲取客戶端相關(guān)信息的方法,以實(shí)例形式總結(jié)了C#獲取客戶端IP地址、網(wǎng)絡(luò)連接、硬件信息等相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-09-09C#實(shí)現(xiàn)高性能文件批量處理器的示例代碼
文件批量處理器可以用于數(shù)字資產(chǎn)管理,數(shù)據(jù)遷移工程,日志文件處理和安全審計(jì)場(chǎng)景,本文將使用C#開(kāi)發(fā)一個(gè)高性能文件批量處理器,希望對(duì)大家有所幫助2025-03-03基于c#圖像灰度化、灰度反轉(zhuǎn)、二值化的實(shí)現(xiàn)方法詳解
本篇文章是對(duì)c#圖像灰度化、灰度反轉(zhuǎn)、二值化的實(shí)現(xiàn)方法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05C#執(zhí)行表達(dá)式樹(shù)(Expression Tree)的具體使用
本文將深入探討表達(dá)式樹(shù)的基本概念、創(chuàng)建方法、修改和刪除節(jié)點(diǎn)、查詢和遍歷技巧以及在C#中的應(yīng)用示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03c#判斷磁盤(pán)驅(qū)動(dòng)器類(lèi)型的兩種方法介紹
本文介紹了使用WINDOWS API判斷一個(gè)磁盤(pán)驅(qū)動(dòng)器的類(lèi)型和使用System.IO.DriveInfo判斷一個(gè)磁盤(pán)驅(qū)動(dòng)器的二種方法,大家參考和吧2014-01-01C#實(shí)現(xiàn)對(duì)文件進(jìn)行加密解密的方法
這篇文章主要介紹了C#實(shí)現(xiàn)對(duì)文件進(jìn)行加密解密的方法,涉及C#加密與解密的技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-04-04