.net下log4net使用方法詳解
本文實(shí)例為大家分享了.net下log4net的使用方法,供大家參考,具體內(nèi)容如下
這里以控制臺(tái)應(yīng)用程序?yàn)槔?/p>
首先是要添加引用:
安裝后可以看到項(xiàng)目中多了log4net的引用:
添加應(yīng)用程序配置文件app.config,配置log4net
<?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> </configSections> <log4net> <!-- Define some output appenders --> <appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender"> <!--日志路徑--> <file value="test.txt"/> <!--是否向文件中追加日志--> <appendToFile value="true"/> <!--日志保留天數(shù)--> <maxSizeRollBackups value="10"/> <!--每個(gè)文件的大小。只在混合方式與文件大小方式下使用。超出大小后在所有文件名后自動(dòng)增加正整數(shù)重新命名,數(shù)字最大的最早寫入??捎玫膯挝?KB|MB|GB。不要使用小數(shù),否則會(huì)一直寫入當(dāng)前日志--> <maximumFileSize value="1024KB"/> <!--按照何種方式產(chǎn)生多個(gè)日志文件(日期[Date],文件大小[Size],混合[Composite])--> <rollingStyle value="Size"/> <!--否只寫到一個(gè)文件中--> <staticLogFileName value="true"/> <layout type="log4net.Layout.PatternLayout"> <!--記錄時(shí)間:%date 線程ID:[%thread] 日志級(jí)別:%-5level 記錄類:%logger 操作者ID:%property{Operator} 操作類型:%property{Action}%n 當(dāng)前機(jī)器名:%property%n當(dāng)前機(jī)器名及登錄用戶:%username %n 記錄位置:%location%n 消息描述:%property{Message}%n 異常:%exception%n 消息:%message%newline%n%n--> <conversionPattern value="%date [%thread] %-5level %logger - %message%newline"/> </layout> </appender> <root> <level value="DEBUG"/> <appender-ref ref="RollingLogFileAppender"/> </root> </log4net> </configuration>
在Program.cs中添加代碼:
static void Main(string[] args) { log4net.Config.XmlConfigurator.Configure(); //創(chuàng)建日志記錄組件實(shí)例 ILog log = log4net.LogManager.GetLogger(typeof(Program)); //記錄錯(cuò)誤日志 log.Error("發(fā)生了錯(cuò)誤:", new Exception("log4net的測(cè)試錯(cuò)誤信息")); //記錄致命的錯(cuò)誤 log.Fatal("發(fā)生了致命的錯(cuò)誤:", new Exception("log4net測(cè)試致命信息")); //記錄一般信息 log.Info("log4net的一般信息"); //記錄調(diào)試信息 log.Debug("log4net的調(diào)試信息"); //記錄警告信息 log.Warn("log4net警告信息"); Console.WriteLine("ok"); Console.ReadKey(); }
運(yùn)行程序
這里是控制臺(tái)應(yīng)用程序 ,如果是Web應(yīng)用程序,可以在Global.asax.cs中Application_Start方法中調(diào)用log4net.Config.XmlConfigurator.Configure(); 在Global.asax.cs中定義一個(gè)變量,并在Application_Error中獲取異常并記錄:
public class Global : System.Web.HttpApplication { private static ILog log = LogManager.GetLogger(typeof(Global)); protected void Application_Start(object sender, EventArgs e) { log4net.Config.XmlConfigurator.Configure(); } protected void Session_Start(object sender, EventArgs e) { } protected void Application_BeginRequest(object sender, EventArgs e) { } protected void Application_AuthenticateRequest(object sender, EventArgs e) { } protected void Application_Error(object sender, EventArgs e) { log.Error("發(fā)生了異常",Server.GetLastError()); } protected void Session_End(object sender, EventArgs e) { } protected void Application_End(object sender, EventArgs e) { } }
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
asp.net簡(jiǎn)單實(shí)現(xiàn)頁(yè)面換膚的方法
這篇文章主要介紹了asp.net簡(jiǎn)單實(shí)現(xiàn)頁(yè)面換膚的方法,可實(shí)現(xiàn)給頁(yè)面動(dòng)態(tài)添加樣式的功能,非常簡(jiǎn)單實(shí)用,需要的朋友可以參考下2015-12-12.net實(shí)現(xiàn)oracle數(shù)據(jù)庫(kù)中獲取新插入數(shù)據(jù)的id的方法
在oracle數(shù)據(jù)庫(kù)中實(shí)現(xiàn)插入數(shù)據(jù)的自動(dòng)增長(zhǎng)不是很容易,想在.net中實(shí)現(xiàn)獲取新插入數(shù)據(jù)的id,感興趣的朋友看下詳細(xì)的解決方法,希望對(duì)你有所幫助2013-04-04.net數(shù)據(jù)庫(kù)連接池配置技巧(默認(rèn)值)
ado.net 本就有連接功能,所有.net開法基本不用去考慮連接問題,怪不得.net的連接池資料網(wǎng)上找不到。.net連接池只要在連接字符串里配制就可以了2008-12-12.NET Core 1.0創(chuàng)建Self-Contained控制臺(tái)應(yīng)用
這篇文章主要為大家詳細(xì)介紹了.NET Core 1.0創(chuàng)建Self-Contained控制臺(tái)應(yīng)用的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-04-04WPF實(shí)現(xiàn)定時(shí)刷新UI界面功能
這篇文章主要為大家詳細(xì)介紹了WPF實(shí)現(xiàn)定時(shí)刷新UI界面功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-07-07asp.net中實(shí)體類對(duì)象賦值到表單的實(shí)現(xiàn)代碼
昨天在網(wǎng)上看到了一個(gè)利用反射表單賦值到實(shí)體類對(duì)象的一個(gè)方法,自己就在加了個(gè)方法,從實(shí)體對(duì)象到表單,覺的很不錯(cuò)非常省事,所以把他寫成了一個(gè)類,供以后使用2010-11-11.net中如何以純二進(jìn)制的形式在內(nèi)存中繪制一個(gè)對(duì)象
這篇文章主要介紹了如何以純二進(jìn)制的形式在內(nèi)存中繪制一個(gè)對(duì)象,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-07-07