Log4net 配置使用总结(一)
博客園里面關于Log4net配置介紹的文章已經很多了,本篇想對Log4net做一個整體、全面的介紹。一來整理一下自己在學習、配置中遇到的一些問題、二來梳理、總結一下這方面的知識。所以下面相當一部分是從官方資料翻譯過來,翻譯不當之處,還請大家多多指教(http://www.cnblogs.com/kerrycode)。
Log4net 介紹?
Log4net是一個基于.NET開發的一款非常著名的記錄日志的開源組件,它是Apache日志服務項目的一部分。從它的官方網址為http://logging.apache.org/上面你可以看到還有log4j(Java)、 log4cxx(C++)、log4php(Php)其它三種語言的類似項目。旨在提供對應用程序調試和審計目的的跨語言記錄服務。
Log4net 版本歷史?
Log4net的版本演變歷史:
1.2.0 Beta 1
1.2.0 Beta 2
1.2.0 Beta 3
1.2.0 Beta 4
1.2.0 Beta 5
1.2.0 Beta 6
1.2.0 Beta 7
1.2.0 Beta 8
1.2.9 Beta
1.2.10
具體各版本的演變,新特征的、新功能細節,你可以在下面這個url地址里查看
http://logging.apache.org/log4net/release/release-notes.html
Log4net 特征?
概述:
?? Log4net是一個幫助開發者把日志文檔輸出到各種媒介(日志文件、數據庫、系統日志等)的工具,在應用程序遇到問題時(比如異常、調試信息等),它的記錄信息能夠幫助問題的定位。
??支持多種Framework框架
??日志輸出形式多樣化
??分層記錄的架構
??XML 配置
??動態配置
??Logging Context (不知道怎么翻譯好)
??已經驗證的架構
??模塊化和可擴展設計
??高性能、高度靈活
支持多種framework框架?
log4net 能夠運行在和各種ECMA CLI 1.0 兼容的環境中. log4net特定構建了下面各種frameworks框架:
- Microsoft .NET Framework 1.0 (1.0.3705)
- Microsoft .NET Framework 1.1 (1.1.4322)
- Microsoft .NET Framework 2.0 (2.0.50727)
- Microsoft .NET Compact Framework 1.0
- Mono 1.0
- Mono 2.0
- Microsoft Shared Source CLI 1.0
- CLI 1.0 Compatible
、
日志輸出形式多樣化?
| log4net.Appender.AdoNetAppender | Writes logging events to a database using either prepared statements or stored procedures. |
| log4net.Appender.AnsiColorTerminalAppender | Writes color highlighted logging events to a an ANSI terminal window. |
| log4net.Appender.AspNetTraceAppender | Writes logging events to the ASP trace context. These can then be rendered at the end of the ASP page or on the ASP trace page. |
| log4net.Appender.ColoredConsoleAppender | Writes color highlighted logging events to the application's Windows Console. |
| log4net.Appender.ConsoleAppender | Writes logging events to the application's Console. The events may go to either the standard our stream or the standard error stream. |
| log4net.Appender.EventLogAppender | Writes logging events to the Windows Event Log. |
| log4net.Appender.FileAppender | Writes logging events to a file in the file system. |
| log4net.Appender.LocalSyslogAppender | Writes logging events to the local syslog service (UNIX only). |
| log4net.Appender.MemoryAppender | Stores logging events in an in memory buffer. |
| log4net.Appender.NetSendAppender | Writes logging events to the Windows Messenger service. These messages are displayed in a dialog on a users terminal. |
| log4net.Appender.OutputDebugStringAppender | Writes logging events to the debugger. If the application has no debugger, the system debugger displays the string. If the application has no debugger and the system debugger is not active, the message is ignored. |
| log4net.Appender.RemoteSyslogAppender | Writes logging events to a remote syslog service using UDP networking. |
| log4net.Appender.RemotingAppender | Writes logging events to a remoting sink using .NET remoting. |
| log4net.Appender.RollingFileAppender | Writes logging events to a file in the file system. The RollingFileAppender can be configured to log to multiple files based upon date or file size constraints. |
| log4net.Appender.SmtpAppender | Sends logging events to an email address. |
| log4net.Appender.TelnetAppender | Clients connect via Telnet to receive logging events. |
| log4net.Appender.TraceAppender | Writes logging events to the .NET trace system. |
| log4net.Appender.UdpAppender | Sends logging events as connectionless UDP datagrams to a remote host or a multicast group using a UdpClient. |
| ? |
分層記錄架構
分層記錄是一個基于組件開發的理想選擇。每個組件都有它自己的記錄。單獨測試時,這些記錄器的屬性可能被設置為開發人員需要。當與其他組件相結合,由組合的每個組件繼承的屬性決定。人們可以選擇性地提高某個組件日志記錄級別的優先級不影響其他的組件。這是非常有用的,當您需要一個詳細的跟蹤其中一個單一的組件與無需其他組件的跟蹤信息。所有這一切都可以通過配置文件;無需更改代碼是必需的。
XML 配置
log4net 的配置可以用XML文件來配置,配置信息也可以嵌入到其它配置文件中(像應用程序的config文件)或單獨放置在一個XML文件當中。配置有很好的可讀性和容易更新特性的同時,又有很大的靈活性來表達所有配置。另外log4net是可配置編程
動態配置
log4net能夠檢測它的配置文件的變化并且動態應用配置文件的更改。日志記錄級別、日志追加方式、日志顯示樣式等幾乎所有事情都可以在系統運行時調整。在許多例子中,log4net能夠診斷應用程序問題而不用終止應用程序進程。它是一款用來診斷已部署應用程序問題非常有價值的工具
Logging Context
log4net能夠用來收集上下文數據(系統數據),以一種方式傳遞給開發者。 該GlobalContext和ThreadContext允許應用程序以附加消息的形式存儲到日志數據中。例如, 在Web服務中,一旦調用者以授權的用戶名調用服務時,這個調用者信息就會存儲在ThreadContext屬性中, 這個屬性將會自動記錄并且作為同一線程后續日志信息的一部分.
已經驗證的框架?
log4net是基于非常成功的log4j日志記錄類庫開發的,從1996開始,這種流行并且成功的架構,已經被移植到12種語言上.
轉載于:https://www.cnblogs.com/kerrycode/archive/2011/03/12/1982263.html
總結
以上是生活随笔為你收集整理的Log4net 配置使用总结(一)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在Mapnik中显示中文(网上资料整理)
- 下一篇: 矩阵旋转问题的求解