http://logging.apache.org/log4net/release/features.htmlhtml
log4net的是一個工具,幫助程序員輸出日誌報表的各類輸出目標。如遇問題,一個應用程序,它有助於啓用日誌記錄,這樣的問題能夠被找到。用log4net的,能夠啓用日誌記錄在運行時無需修改應用程序的二進制文件。 log4net的包被設計成使得日誌語句能夠留在運送代碼,而不會產生高的性能成本。因而可知記錄(或者更確切地說,沒有記錄)的速度是相當重要的。
同時,日誌輸出能夠如此浩繁,它很快變得勢不可擋。其中一個log4net的不同凡響的特色是分層記錄儀的概念。使用這些記錄器可以選擇性地控制哪些日誌語句是在任意粒度的輸出。
log4net的是設計時考慮到兩個不一樣的目標:速度和靈活性程序員
支持多種框架數據庫
log4net的運行在全部ECMA CLI1.0兼容的運行環境。 log4net的具備特定版本如下的框架:apache
log4net的附帶如下附加目的地(不是全部框架):編程
日誌類型 | 類型描述 |
log4net.Appender.AdoNetAppender | 寫入事件日誌使用或者準備好的語句或存儲過程的數據庫。 |
log4net.Appender.AnsiColorTerminalAppender | 寫顏色突出顯示事件記錄到一個ANSI終端窗口。 |
log4net.Appender.AspNetTraceAppender | 寫日誌記錄事件到ASP跟蹤上下文。這些而後能夠在ASP頁的端部或在ASP跟蹤頁面上呈現。 |
log4net.Appender.ColoredConsoleAppender | 寫顏色突出顯示事件記錄到應用程序的Windows控制檯。 |
log4net.Appender.ConsoleAppender | 寫記錄事件到應用程序的控制檯。該事件可能會被定位到了咱們的標準流或標準錯誤流。 |
log4net.Appender.DebugAppender | 寫記錄事件到.NET系統。 |
log4net.Appender.EventLogAppender | 寫日誌記錄事件到Windows事件日誌。 |
log4net.Appender.FileAppender | 寫入記錄事件來在文件系統中的文件。 |
log4net.Appender.LocalSyslogAppender | 寫入事件日誌到本地syslog服務(僅限UNIX)。 |
log4net.Appender.MemoryAppender | 存儲記錄事件在內存中的緩衝區。 |
log4net.Appender.NetSendAppender | 寫記錄事件到Windows Messenger服務。這些信息顯示在一個用戶終端的對話框。 |
log4net.Appender.OutputDebugStringAppender | 寫日誌事件的調試器。若是應用程序沒有調試,系統調試器顯示的字符串。若是應用程序沒有調試和系統調試器處於非活動狀態,該消息被忽略。 |
log4net.Appender.RemoteSyslogAppender | 寫使用UDP網絡記錄事件到遠程syslog服務。 |
log4net.Appender.RemotingAppender | 寫入事件日誌使用.NET遠程處理一個遠程接收器。 |
log4net.Appender.RollingFileAppender | 寫入記錄事件來在文件系統中的文件。的RollingFileAppender進行可配置爲登陸到基於日期或文件大小約束的多個文件。 |
log4net.Appender.SmtpAppender | 將事件記錄到的電子郵件地址。 |
log4net.Appender.SmtpPickupDirAppender | 將事件記錄到一個電子郵件地址,但該郵件寫入到配置目錄,而不是直接經過SMTP發送它們。 |
log4net.Appender.TelnetAppender | 客戶端經過Telnet鏈接到接收日誌記錄事件。 |
log4net.Appender.TraceAppender | 寫記錄事件到.NET跟蹤系統。 |
log4net.Appender.UdpAppender | 發送記錄事件無鏈接的UDP數據報給遠程主機或使用UdpClient的一個組播組。 |
特別log4net.Appender.ForwardingAppender可用於包裝其餘附加器,例如附加額外的過濾器。網絡
分層記錄是再合適不過與基於組件的開發。每一個組件都有本身的記錄儀。當單獨測試,這些記錄儀的性能能夠爲開發人員須要進行設置。當與其它成分結合時,記錄器繼承了部件的積分所肯定的屬性。一個能夠有選擇地提升記錄優先於一個組件,而不會影響其餘組件。當你須要的只是一個單一的部件進行詳細的跟蹤不擁擠的跟蹤文件與其餘組件的消息,這是頗有用的。全部這能夠經過配置文件來實現;沒有須要修改代碼。
架構
log4net的是使用XML配置文件來配置。的配置信息能夠在其餘XML配置文件(如應用程序的.config文件),或在一個單獨的文件被嵌入。配置是很容易讀取和更新,同時保留來表達全部配置的靈活性。
另外log4net的能夠經過編程設置。框架
log4net的能夠監視其更改的配置文件,並動態地應用由配置所作的更改。日誌記錄級別,追加器,佈局,以及幾乎一切能夠在運行時調整。在許多狀況下,能夠不終止過程當中的問題進行診斷應用的問題。這能夠在調查與部署應用程序的問題很是有價值的工具。模塊化
log4net的可用於收集記錄的上下文數據的方式,是透明的顯影劑在記錄的點。該GlobalContext中和ThreadContext容許應用程序存儲附加到日誌消息上下文數據。例如,在Web服務中,一旦調用者被驗證呼叫者的用戶名可被存儲在一個ThreadContext屬性。此屬性將被自動記錄爲來自同一個線程所作的每個後續日誌消息的一部分。工具
log4net的是基於很是成功的Apache™的log4j日誌庫,在發展自1996年以來這種流行和成熟的架構,迄今已被移植到12種語言。