Log4net核心组成
一、Logger(日志)
? ?1. 記錄日志的分類:
? ? ? ?Log4net能夠以多種方式輸出日志。支持的日志輸出常用的主要媒介有數據庫(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite,控制臺,文件,事件日志(可以用事件查看器查看)和郵件等多種方式。
? ?2. 日志的級別
? ? ? ?Log4net支持多種級別的日志。優先級從高到低依次排列如下:
? ? ? ?FATAL > ERROR > WARN > INFO > DEBUG
? ? ? ?此外還有ALL(允許所有的日志請求)和OFF(拒絕所有的日志請求)這兩種特殊的級別。
二、Appenders
? ?Appenders決定日志輸出的方式。
? ?Appenders必須實現log4net.Appenders.IAppender接口。
? ?Log4net目前支持的輸出方式包括:
? ?1、AdoNetAppender
? ? ? ?將日志記錄到數據庫中。可以采用SQL和存儲過程兩種方式。
? ?2、AnsiColorTerminalAppender
? ? ? ?在ANSI 窗口終端寫下高亮度的日志事件。
? ?3、AspNetTraceAppender
? ? ? ?能用asp.net中Trace的方式查看記錄的日志。
? ?4、BufferingForwardingAppender
? ? ? ?在輸出到子Appenders之前先緩存日志事件。
? ?5、ConsoleAppender
? ? ? ?將日志輸出到控制臺。
? ?6、EventLogAppender
? ? ? ?將日志寫到Windows Event Log.
? ?7、FileAppender
? ? ? ?將日志寫到文件中。
? ?8、LocalSyslogAppender
? ? ? ?將日志寫到local syslog service (僅用于UNIX環境下).
? ?9、MemoryAppender
? ? ? ?將日志存到內存緩沖區。
? ?10、NetSendAppender
? ? ? ?將日志輸出到Windows Messenger service.這些日志信息將在用戶終端的對話框中顯示。
? ?11、RemoteSyslogAppender
? ? ? ?通過UDP網絡協議將日志寫到Remote syslog service。
? ?12、RemotingAppender
? ? ? ?通過.NET Remoting將日志寫到遠程接收端。
? ?13、RollingFileAppender
? ? ? ?將日志以回滾文件的形式寫到文件中。
? ?14、SmtpAppender
? ? ? ?將日志寫到郵件中。
? ?15、TraceAppender
? ? ? ?將日志寫到.NET trace 系統。
? ?16、UdpAppender
? ? ? ?將日志connectionless UDP datagrams的形式送到遠程宿主或以UdpClient的形式廣播。
三、Filters
? ?Appender對象將日志以缺省的方式傳到輸出流,然后Filter可以按照不同的標準控制日志的輸出。Filter可以再配置文件中配置。最簡單的形式是在appender中寫明一個Threshold.這樣只有級別大于或等于此Threshold的日志才被記錄。
? ?Filters必須實現log4net.Filters.IFilter接口。
四、Layouts
? ?Layouts控制日志顯示的格式樣式。日志的顯示格式如下:
? ?"%timestamp [%thread] %-5level %logger - %message%newline"
? ?Timestamp: 表示程序已經開始執行的時間。 單位[毫秒]。
? ?Thread:執行當前代碼的線程。
? ?Level:日志的級別。
? ?Logger:日志相關請求的名稱。
? ?Message: 日志消息。
? ?Layouts還可以控制日志的輸出樣式,比如以普通形式或以xml等形式輸出。
五、Object Renderers
? ?這是很重要的一項,log4net將按照用戶定義的標準輸出日志消息。
? ?Object Renders必須實現log4net.ObjectRenderer.IObjectRenerer接口。
轉載于:https://blog.51cto.com/greensky/1341573
總結
以上是生活随笔為你收集整理的Log4net核心组成的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 梦到和对象结婚预示的什么
- 下一篇: iops 条带深度 队列深度 NCQ