精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

C#中log4net使用方法(一)

開發 后端
本文主要介紹log4net使用方法,Log4net是一個第三方開源組件,它設計的主要目的是組合,生成日志信息,同時將配置保存到各種存儲介質或者展現平臺中。希望對你有幫助,一起來看。

Log4net是一個第三方開源組件,它設計的主要目的是組合,生成日志信息,同時將配置保存到各種存儲介質或者展現平臺中,在實際項目中,Log4net可以保存系統運行情況,可以在系統出現異常時,根據保存的日志信息,查看當時系統的狀態。

1.Log4net的優點:

幾乎所有的大型應用都會有自己的用于跟蹤調試的API。因為一旦程序被部署以后,就不太可能再利用專門的調試工具了。然而一個管理員可能需要有一套強大的日志系統來診斷和修復配置上的問題。

經驗表明,日志記錄往往是軟件開發周期中的重要組成部分。它具有以下幾個優點:它可以提供應用程序運行時的精確環境,可供開發人員盡快找到應用程序中的Bug;一旦在程序中加入了Log 輸出代碼,程序運行過程中就能生成并輸出日志信息而無需人工干預。另外,日志信息可以輸出到不同的地方(控制臺,文件等)以備以后研究之用。

Log4net就是為這樣一個目的設計的,用于.NET開發環境的日志記錄包。

2 Log4net的安裝:

用戶可以從http://logging.apache.org/log4net/下載log4net的源代碼。解壓軟件包后,在解壓的src目錄下將log4net.sln載入Visual Studio .NET,編譯后可以得到log4net.dll。用戶要在自己的程序里加入日志功能,只需將log4net.dll引入工程即可。

3 Log4net的結構

log4net 有四種主要的組件,分別是Logger(記錄器), Repository(庫), Appender(附著器)以及 Layout(布局).

(1) Logger接口

Logger是應用程序需要交互的主要組件,它用來產生日志消息。產生的日志消息并不直接顯示,還要預先經過Layout的格式化處理后才會輸出。

Logger提供了多種方式來記錄一個日志消息,你可以在你的應用程序里創建多個Logger,每個實例化的Logger對象都被log4net框架作為命名實體(named entity)來維護。這意味著為了重用Logger對象,你不必將它在不同的類或對象間傳遞,只需要用它的名字為參數調用就可以了。log4net框架使用繼承體系,繼承體系類似于.NET中的名字空間。也就是說,如果有兩個logger,分別被定義為a.b.c和a.b,那么我們說a.b是a.b.c的祖先。每一個logger都繼承了祖先的屬性

Log4net框架定義了一個ILog接口,所有的logger類都必須實現這個接口。如果你想實現一個自定義的logger,你必須首先實現這個接口。你可以參考在/extension目錄下的幾個例子。

ILog接口的定義如下:

  1. public interface ILog  
  2. {  
  3. void Debug(object message);  
  4. void Info(object message);  
  5. void Warn(object message);  
  6. void Error(object message);  
  7. void Fatal(object message);  
  8. //以上的每一個方法都有一個重載的方法,用來支持異常處理。  
  9. //每一個重載方法都如下所示,有一個異常類型的附加參數。  
  10. void Debug(object message, Exception ex);  
  11. // ...  
  12. //Boolean 屬性用來檢查Logger的日志級別  
  13. //(我們馬上會在后面看到日志級別)  
  14. bool isDebugEnabled;  
  15. bool isInfoEnabled;  
  16. //… 其他方法對應的Boolean屬性  

Log4net框架定義了一個叫做LogManager的類,用來管理所有的logger對象。它有一個GetLogger()靜態方法,用我們提供的名字參數來檢索已經存在的Logger對象。如果框架里不存在該Logger對象,它也會為我們創建一個Logger對象。代碼如下所示:

  1. log4net.ILog log = log4net.LogManager.GetLogger("logger-name"); 

通常來說,我們會以類(class)的類型(type)為參數來調用GetLogger(),以便跟蹤我們正在進行日志記錄的類。傳遞的類(class)的類型(type)可以用typeof(Classname)方法來獲得,或者可以用如下的反射方法來獲得:

  1. System.Reflection.MethodBase.GetCurrentMethod().DeclaringType 

盡管符號長了一些,但是后者可以用于一些場合,比如獲取調用方法的類(class)的類型(type)。

(2)日志的級別

正如你在ILog的接口中看到的一樣,有五種不同的方法可以跟蹤一個應用程序。事實上,這五種方法是運作在Logger對象設置的不同日志優先級別上。這幾種不同的級別是作為常量定義在log4net.spi.Level類中。你可以在程序中使用任何一種方法。但是在***的發布中你也許不想讓所有的代碼來浪費你的CPU周期,因此,框架提供了7種級別和相應的Boolean屬性來控制日志記錄的類型。

Level有以下幾種取值:

 Logger的日志級別
表1 Logger的日志級別

在log4net框架里,通過設置配置文件,每個日志對象都被分配了一個日志優先級別。如果沒有給一個日志對象顯式地分配一個級別,那么該對象會試圖從他的祖先繼承一個級別值。

ILog接口的每個方法都有一個預先定義好了的級別值。正如你在表1看到的,ILog的Inof()方法具有INFO級別。同樣的,以此類推,Error()方法具有ERROR級別。當我們使用以上的任何一種方法時,log4net框架會檢查日志對象logger的級別和方法的級別。只有當方法的級別高于日志級別時,日志請求才會被接受并執行。

舉例說明,當你創建了一個日志對象,并且把他的級別設置為INFO。于是框架會設置日志的每個Boolean屬性。當你調用相應的日志方法時,框架會檢查相應的Boolean屬性,以決定該方法能不能執行。如下的代碼:

  1. Logger.Info("message");  
  2. Logger.Debug("message");  
  3. Logger.Warn("message"); 

對于***種方法,Info()的級別等與日志的級別(INFO),因此日志請求會被傳遞,我們可以得到輸出結果”message”。

對于第二種方法,Debug()的級別低于日志對象logger的日志級別(INFO),因此,日志請求被拒絕了,我們得不到任何輸出。同樣的,針對第三行語句,我們可以很容易得出結論。

在表1中有兩個特殊的級別:ALL和OFF。ALL表示允許所有的日志請求。OFF是拒絕所有的請求。

你也可以顯式地檢查Logger對象的Boolean屬性,如下所示:

  1. if (logger.IsDebugEnabled)   
  2. {  
  3. Logger.Debug("message");  

Repository

Repository主要用于負責日志對象組織結構的維護。在log4net的以前版本中,框架僅支持分等級的組織結構(hierarchical organization)。這種等級結構本質上是庫的一個實現,并且定義在log4net.Repository.Hierarchy 名字空間中。要實現一個Repository,需要實現log4net.Repository.ILoggerRepository 接口。但是通常并不是直接實現該接口,而是以log4net.Repository.LoggerRepositorySkeleton為基類繼承。體系庫(hierarchical repository )則由log4net.Repository.Hierarchy.Hierarchy類實現。

如果你是個log4net框架的使用者,而非擴展者,那么你幾乎不會在你的代碼里用到Repository的類。相反的,你需要用到LogManager類來自動管理庫和日志對象。

Appender

一個好的日志框架應該能夠產生多目的地的輸出。比如說輸出到控制臺或保存到一個日志文件。log4net 能夠很好的滿足這些要求。它使用一個叫做Appender的組件來定義輸出介質。正如名字所示,這些組件把它們附加到Logger日志組件上并將輸出傳遞到輸出流中。你可以把多個Appender組件附加到一個日志對象上。Log4net框架提供了幾個Appender組件。關于log4net提供的Appender組件的完整列表可以在log4net框架的幫助手冊中找到。有了這些現成的Appender組件,一般來說你沒有必要再自己編寫了。但是如果你愿意,可以從log4net.Appender.AppenderSkeleton類繼承

Appender Filters

一個Appender 對象缺省地將所有的日志事件傳遞到輸出流。Appender的過濾器(Appender Filters) 可以按照不同的標準過濾日志事件。在log4net.Filter的名字空間下已經有幾個預定義的過濾器。使用這些過濾器,你可以按照日志級別范圍過濾日志事件,或者按照某個特殊的字符串進行過濾。你可以在API的幫助文件中發現更多關于過濾器的信息。

【編輯推薦】

  1. 實例講述VB.NET使用Log4Net
  2. ASP.NET調試API之Log4net使用指南
  3. 用C#實現HTTP協議下的多線程文件傳輸
  4. 解析C#委托、時間和Lambda表達式
  5. C#控件的閃爍問題解決方法總結
責任編輯:于鐵 來源: 百度空間
相關推薦

2011-06-01 16:08:29

log4Net

2009-10-26 19:22:29

VB.NET使用Log

2009-08-24 18:14:35

ASP.NET調試Log4net

2024-05-21 11:09:17

2009-08-25 16:54:28

C# RichText

2024-12-04 08:17:49

日志框架NLog

2009-08-28 16:31:21

C# treeview

2009-09-08 14:54:40

C# listBox控

2009-08-28 17:01:43

C#構造函數

2024-11-12 07:28:39

2009-09-01 15:25:04

C# default關

2011-07-19 17:18:35

Objective-C Property

2011-08-02 15:55:31

Objective-C NSAutorele

2009-07-27 14:13:56

調用c#方法Java scriptASP.NET

2023-12-25 08:55:35

.NET日志框架Serilog

2009-04-28 16:58:43

.NET 4C#VB

2024-03-06 09:24:50

AsyncAwaitC#

2011-08-19 13:51:12

2010-02-02 09:32:32

C++ typedef

2010-01-26 17:35:09

C++棧
點贊
收藏

51CTO技術棧公眾號

大香伊人中文字幕精品| 国产伦精品一区二区三区四区 | 国产精品夜间视频香蕉| 国产精品麻豆一区| 香蕉成人app| 欧美日韩在线另类| 欧美h视频在线观看| 蜜桃久久一区二区三区| 日韩国产欧美一区二区三区| 久久综合久久美利坚合众国| www.久久av| 国产精品欧美一区二区三区不卡 | 久久不射电影网| 双性尿奴穿贞c带憋尿| 91精品国产自产观看在线| 黄色成人av网| 国产av第一区| 国产大片在线免费观看| 国产成人综合视频| 国产精品老牛影院在线观看| 久久无码精品丰满人妻| 成人综合一区| 亚洲精品久久久久久久久久久久| 天天干天天av| 欧美三级网址| 午夜欧美在线一二页| 自拍偷拍一区二区三区| 国产一二在线观看| www.亚洲激情.com| 亚洲精品免费网站| 最近中文字幕在线观看| 国产欧美69| 久久久免费电影| 精品国产视频一区二区三区| 精品福利久久久| 亚洲精品美女久久| 日韩成人av影院| 精品国模一区二区三区欧美| 欧美日韩一本到| 亚洲乱码国产一区三区| 国产一二在线播放| 亚洲国产日日夜夜| 欧美一级特黄aaaaaa在线看片| 99中文字幕一区| 国产亚洲精品资源在线26u| 狠狠色综合网站久久久久久久| jlzzjlzz亚洲女人18| 免费观看久久久4p| 国产精品视频成人| 青青艹在线观看| 日本视频免费一区| 国产精品99久久久久久白浆小说 | 制服丝袜中文字幕亚洲| 日韩精品视频一二三| 日韩另类视频| 欧美日韩精品是欧美日韩精品| 国产又大又黄又粗的视频| 午夜欧美巨大性欧美巨大 | 亚洲天堂视频网| 日韩成人精品在线| 国产精品美女免费| 亚洲精品国产精品国自产网站按摩| 鲁大师成人一区二区三区| 91av在线精品| 高清乱码免费看污| 美女网站久久| 国产日韩av在线播放| 中日韩在线观看视频| 青椒成人免费视频| 91久久久亚洲精品| 超碰在线观看99| 成熟亚洲日本毛茸茸凸凹| 国产精品欧美久久| 欧美挠脚心网站| 久久久一区二区| 西游记1978| 日本在线免费看| 日韩码欧中文字| 日本一区午夜艳熟免费| 黄毛片在线观看| 色999日韩国产欧美一区二区| 我看黄色一级片| 2020国产精品小视频| 欧美大片免费久久精品三p | 先锋影音国产精品| 综合久久五月天| 欧美日韩国产精品综合| 国产偷自视频区视频一区二区| 国产mv久久久| 国产黄色美女视频| 26uuu色噜噜精品一区二区| 五月婷婷综合色| 丝袜美腿av在线| 欧美性感美女h网站在线观看免费| 日本久久久久久久久久久久| 人人爱人人干婷婷丁香亚洲| 日韩av一卡二卡| 亚洲黄色网址大全| 在线日韩中文| 国产欧美va欧美va香蕉在| 国产 欧美 精品| 中文幕一区二区三区久久蜜桃| 久久香蕉视频网站| 精品3atv在线视频| 日韩一二在线观看| 久久精品视频18| 欧美午夜一区| 国产精品久久久久久av福利软件 | 亚洲成a天堂v人片| 国产福利一区视频| 一区二区在线视频观看| 中文字幕日韩在线播放| 日本在线视频免费| 麻豆91精品91久久久的内涵| 国严精品久久久久久亚洲影视 | 91久久精品无码一区二区| 成人免费看视频| 五月天av影院| 午夜欧美巨大性欧美巨大 | 欧美网站在线| 成人欧美一区二区三区黑人孕妇| 色吊丝在线永久观看最新版本| 日韩一区中文字幕| 亚欧在线免费观看| 在线亚洲a色| 91极品女神在线| 超碰在线播放97| 亚洲视频网在线直播| 爱情岛论坛vip永久入口| 外国成人在线视频| 久久久久久久久国产精品| 国产精品爽爽久久久久久| 国产女人18毛片水真多成人如厕| 日韩精品―中文字幕| 亚洲精品黑牛一区二区三区| 久久国产色av| 国产精品久久久久久久久久久久久久久久久久 | 欧美成人综合| 91色在线观看| 欧美日韩xx| 欧美日韩精品一区二区在线播放 | 亚洲欧美另类小说| jizz18女人| 日韩精品一卡| 国产精品视频色| 中文字幕日本在线观看| 欧美自拍偷拍一区| 国产美女永久免费无遮挡| 午夜一级在线看亚洲| 久久婷婷国产综合尤物精品| 国产拍在线视频| 日韩电影在线观看中文字幕| 亚洲激情视频一区| 97精品电影院| 日本黄网站免费| 国产伦精品一区二区三区视频| 欧洲永久精品大片ww免费漫画| 天天干天天操av| 天天影视涩香欲综合网| 五月婷婷综合在线观看| 亚洲主播在线| 亚洲成人18| 国产欧美在线观看免费| 另类天堂视频在线观看| 北条麻妃一二三区| 激情成人中文字幕| 丰满少妇一区二区三区| 日韩精品一级二级 | 亚洲一区二区在线播放| 色呦呦在线免费观看| 亚洲成人精品视频在线观看| 国产精品100| 国产色产综合色产在线视频| 日韩一区二区三区久久| 欧美视频成人| 欧美久久在线| 久久青草视频| 欧美大奶子在线| 亚洲人视频在线观看| 色婷婷国产精品| 97在线观看视频免费| 国产99一区视频免费| 国产熟女高潮视频| 天天综合一区| 极品日韩久久| 国产第一亚洲| 欧美精品久久一区二区| 国产一区二区影视| 日韩午夜激情免费电影| www.日本精品| 亚洲视频你懂的| 亚洲国产综合视频| 寂寞少妇一区二区三区| www..com日韩| 99成人超碰| 九9re精品视频在线观看re6| 国产亚洲人成a在线v网站 | 亚洲免费激情视频| 一区在线观看视频| 91精品国产自产| 国产乱对白刺激视频不卡| 国产亚洲精品网站| 欧美激情偷拍| 亚洲成人网上| 亚洲国产合集| 97免费高清电视剧观看| 韩日成人影院| 久久久亚洲福利精品午夜| av播放在线| 亚洲跨种族黑人xxx| 精品国产九九九| 欧美日韩国产在线观看| 五月婷婷中文字幕| 亚洲观看高清完整版在线观看 | 三级网站免费看| 日本不卡高清视频| 国产免费黄视频| 亚洲国产电影| 色哺乳xxxxhd奶水米仓惠香| 欧美视频免费| 免费在线成人av电影| www.豆豆成人网.com| 成人午夜激情免费视频| 国产成人精品一区二区三区在线 | 免费一级特黄特色大片| 中文字幕一区免费在线观看| 亚洲精品成人av久久| 久久―日本道色综合久久| 天天躁日日躁狠狠躁免费麻豆| 激情国产一区二区| 亚洲一级免费观看| 日韩精品成人一区二区在线| 久久综合色视频| 亚洲高清自拍| 久青草视频在线播放| 亚洲精品网址| 一区二区三区久久网| 精品国产乱码| 日韩高清国产精品| 在线观看欧美理论a影院| 免费国产一区| 中文精品一区二区| 欧美成人一区二区在线| 香蕉久久精品日日躁夜夜躁| 快播亚洲色图| 中日韩免视频上线全都免费| 女同一区二区| 国产一区二区在线| 日本在线高清视频一区| 国产一区二区三区日韩精品| 色一情一乱一伦一区二区三区| 国产一区二区三区不卡视频网站| 视频一区亚洲| 色天天综合网| 看一级黄色录像| 影音先锋久久| 日日鲁鲁鲁夜夜爽爽狠狠视频97 | 国产精品∨欧美精品v日韩精品| 伊人久久视频| 国产成人jvid在线播放| 国产经典一区| 91老司机精品视频| 一区三区自拍| 久久精品综合一区| blacked蜜桃精品一区| 亚洲电影一二三区| 亚洲高清影视| av女优在线播放| 亚洲综合激情| 99sesese| 国产精品1区2区3区在线观看| 波多野吉衣在线视频| av电影在线观看一区| www亚洲色图| 亚洲精品午夜久久久| 日韩免费av片| 欧美在线视频全部完| 国产又大又长又粗| 精品久久一区二区| 美国成人毛片| 米奇精品一区二区三区在线观看| 国产美女精品写真福利视频| 国产精品青草久久久久福利99| 日韩视频一二区| 玛丽玛丽电影原版免费观看1977 | 日韩欧美中文在线观看| 激情欧美一区二区三区中文字幕| av一区二区在线播放| 黄色片免费在线观看视频| 久久三级福利| 亚洲一区二区三区三州| 91麻豆国产在线观看| 国产第一页浮力| 欧美性猛交xxxx黑人猛交| 国产精品爽爽久久| 亚洲欧美另类国产| 日本无删减在线| 国产精品美女久久久久久免费| 亚洲精品一二三**| 亚洲va久久久噜噜噜久久狠狠 | 国产一级不卡毛片| 国产成人高清在线| 精品成人无码一区二区三区| 亚洲综合激情另类小说区| 国产真人无遮挡作爱免费视频| 日韩一区二区在线看| 国产在线观看黄| 国内精品美女av在线播放| 日韩福利影视| 日本不卡免费新一二三区| 国色天香一区二区| 91女神在线观看| 91美女视频网站| 欧美精品乱码视频一二专区| 欧美伊人久久久久久久久影院| 国产91久久久| 久久精品小视频| 经典三级一区二区| 精品日韩美女| 亚洲三级视频| wwwww在线观看| 亚洲日本va在线观看| 嫩草影院一区二区三区| 日韩www在线| gogo高清午夜人体在线| 亚洲mm色国产网站| 天天揉久久久久亚洲精品| 国产一级不卡毛片| 久久久久青草大香线综合精品| 久草资源在线视频| 91精品在线免费观看| 在线毛片网站| 国产精品日韩在线一区| 视频精品在线观看| 日韩在线xxx| 26uuu成人网一区二区三区| 国产精品第一页在线观看| 日韩片之四级片| 最新黄网在线观看| 91在线观看网站| 中文字幕亚洲精品乱码| 日本77777| 亚洲色图欧洲色图| 国产乱叫456在线| 久热精品视频在线免费观看| 国产成人免费视频网站视频社区| 亚洲欧洲一区二区福利| 免费久久精品视频| 亚洲天堂最新地址| 欧美日韩高清影院| 麻豆网站在线观看| 444亚洲人体| 欧美视频网站| 天堂www中文在线资源| 天天色综合成人网| 男男电影完整版在线观看| 国产成人综合久久| 欧美日韩性在线观看| 玖玖爱视频在线| 亚洲欧美另类综合偷拍| 亚洲精品一区二区三区区别| 国模精品视频一区二区| 亚洲欧美tv| 在线看的黄色网址| 亚洲视频一二三| 欧美自拍偷拍一区二区| 欧美在线性视频| 日韩毛片视频| 乳色吐息在线观看| 午夜精品视频在线观看| 男女网站在线观看| 国产中文字幕日韩| 一区二区亚洲精品| 免费看黄色的视频| 欧美精品日日鲁夜夜添| hd国产人妖ts另类视频| 日韩高清dvd| 国产精品羞羞答答xxdd| 成人毛片18女人毛片| 最近2019中文字幕大全第二页 | 国产极品人妖在线观看| 久久综合九色综合久99| 久久国产生活片100| 精品少妇爆乳无码av无码专区| 亚洲美女自拍视频| 亚洲午夜国产成人| 777777av| 国产精品欧美一区喷水| 成人乱码一区二区三区| 国产成人精品日本亚洲| 欧美va亚洲va日韩∨a综合色| 激情综合丁香五月| 91 com成人网| 在线观看v片| 福利在线小视频| 国产日韩欧美精品电影三级在线| www.成人在线观看| 国产精品成av人在线视午夜片 | 亚洲免费专区| 日韩精品xxx|