歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Log4Net使用詳解

Log4Net使用詳解

日期:2017/2/28 14:31:47   编辑:Linux教程

log4net解決的問題是提供一個記錄日志的框架,它提供了向多種目標寫入的實現,比如利用log4net可以方便地將日志信息記錄到文件、控制台、Windows事件日志和數據庫(包括MS SQL Server, Access, Oracle9i,Oracle8i,DB2,SQLite)中,一般來說我們只需要提供一個描述性的字符串,然後log4net就會自動提供有關運行時的一些信息。

vinform程序配置log4net日志輸出 http://www.linuxidc.com/Linux/2012-12/76208.htm

關於在Web中支持的問題

在我們開發項目時都會使用到config文件,可以在config文件中配置log4net。這一點Web項目和WinForm項目都是一樣的。需要注意的是,因為在Web項目中一般以較低權限的角色來運行Web項目的,所以在使用文件型日志時要注意不要放在本項目根文件夾之外。

在config文件中的配置

要使用log4net,首先要在config文件的<configSections>節點中增加配置(如果沒有這個節點請手動增加),如下:

<configSections>
<sectionname="log4net"type="System.Configuration.IgnoreSectionHandler"/>
</configSections>

除此之外,還要在頂級節點<configuration>下增加<log4net>子節點。在<log4net>節點下就可以增加<appender>子節點,每個<appender>子節點代表一種記錄日志的方式(僅在這裡配置了不代表啟用了)。

具體說來有如下Appender:

AdoNetAppender:利用ADO.NET記錄到數據庫的日志。

AnsiColorTerminalAppender:在ANSI 窗口終端寫下高亮度的日志事件。

AspNetTraceAppender:能用asp.net中Trace的方式查看記錄的日志。

BufferingForwardingAppender:在輸出到子Appenders之前先緩存日志事件。

ConsoleAppender:將日志輸出到控制台。

EventLogAppender:將日志寫到Windows Event Log.

FileAppender:將日志寫到文件中。

LocalSyslogAppender:將日志寫到local syslog service (僅用於UNIX環境下).

MemoryAppender:將日志存到內存緩沖區。

NetSendAppender:將日志輸出到Windows Messenger service.這些日志信息將在用戶終端的對話框中顯示。

RemoteSyslogAppender:通過UDP網絡協議將日志寫到Remote syslog service。

RemotingAppender:通過.NET Remoting將日志寫到遠程接收端。

RollingFileAppender:將日志以回滾文件的形式寫到文件中。

SmtpAppender:將日志寫到郵件中。

TraceAppender:將日志寫到.NET trace 系統。

UdpAppender:將日志connectionless UDP datagrams的形式送到遠程宿主或以UdpClient的形式廣播。

關於使用log4net中可能會使用到的一些參數

%m(message):輸出的日志消息,如ILog.Debug(…)輸出的一條消息

%n(new line):換行

%d(datetime):輸出當前語句運行的時刻

%r(run time):輸出程序從運行到執行到當前語句時消耗的毫秒數

%t(thread id):當前語句所在的線程ID

%p(priority): 日志的當前優先級別,即DEBUG、INFO、WARN…等

%c(class):當前日志對象的名稱,例如:

%f(file):輸出語句所在的文件名。

%l(line):輸出語句所在的行號。

%數字:表示該項的最小長度,如果不夠,則用空格填充,如“%-5level”表示level的最小寬度是5個字符,如果實際長度不夠5個字符則以空格填充。

下面以一個實際的例子來說明問題,比如在配置中有“%date [%thread] (%file:%line) %-5level %logger [%property{NDC}] - %message%newline”,那麼實際的日志中會是如下格式:

“記錄時間:2010-11-17 16:16:36,561 線程ID:[9] 日志級別:文件:所在行ERROR 出錯類:Log4NetDemo.Program property:[(null)] - 錯誤描述:error

System.Exception: 在這裡發生了一個異常,Error Number:2036084948”

更多詳情見請繼續閱讀下一頁的精彩內容: http://www.linuxidc.com/Linux/2014-05/102029p2.htm

Copyright © Linux教程網 All Rights Reserved