Log4Net日志配置[附帶源碼下載]概要

上傳人:簡(jiǎn)****9 文檔編號(hào):24857246 上傳時(shí)間:2021-07-15 格式:DOCX 頁(yè)數(shù):14 大?。?8.47KB
收藏 版權(quán)申訴 舉報(bào) 下載
Log4Net日志配置[附帶源碼下載]概要_第1頁(yè)
第1頁(yè) / 共14頁(yè)
Log4Net日志配置[附帶源碼下載]概要_第2頁(yè)
第2頁(yè) / 共14頁(yè)
Log4Net日志配置[附帶源碼下載]概要_第3頁(yè)
第3頁(yè) / 共14頁(yè)

下載文檔到電腦,查找使用更方便

0 積分

下載資源

還剩頁(yè)未讀,繼續(xù)閱讀

資源描述:

《Log4Net日志配置[附帶源碼下載]概要》由會(huì)員分享,可在線閱讀,更多相關(guān)《Log4Net日志配置[附帶源碼下載]概要(14頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。

1、 Log4Net日志配置[附帶源碼下載] 這篇文章主要介紹了 Log4Net日志配置[附帶源碼下載]需要的朋友可以參考下 前述 園子里有許多人對(duì)10g4net這款開源的日志記錄控件有很多介紹。在這里個(gè)人再做一次 總結(jié),希望對(duì)以后有所幫助, 需要的時(shí)候可以直接使用, 減少查閱資料的時(shí)間。 利用10g4net 可以方便地將日志信息記錄到文件、控制臺(tái)、 Windows事件日志和數(shù)據(jù)庫(kù),并且我們還可 以記載控制要記載的日志級(jí)別,可以記載的日志類別包括: FATAL(致命錯(cuò)誤)、ERROR(一 般錯(cuò)誤)、WARN (警告)、INFO (一般信息)、DEBUG (調(diào)試信息)。10g4net

2、有四種主要的 組件,分別是Logger (記錄器),Repository (庫(kù)),Appender (附著器)以及Layout (布局). 準(zhǔn)備工作: 1.下載 log4net.dll 下載地址[http://logging.apache.org/log4net/download_log4net.cgi] 下載文件:log4net-1213-bin-newkey.zip。 解壓選擇對(duì)應(yīng)的 net版本找到log4net.dll。 彘一 交翩 MlbEi IMn Hftihn 郵” 5aA,坤▼ 取 ◎叔帙 G ill ? jjl H jj 10 ,隆 III 一 1一 『期 2.在

3、項(xiàng)目中引用log4net.dll。 解決方案資源苣理器 嗟家望?詼案變?cè)唇岳硭? m 嶙;突方案”仕個(gè)項(xiàng)目) 」圓 Project.Log4.Net D ,Propertfes ■向引用 W Iog4net ■" Mkrosoft.CSharp ■■■ System 實(shí)例代碼 準(zhǔn)備工作完成后我們來(lái)看下實(shí)例代碼 ,首先在項(xiàng)目中創(chuàng)建一個(gè)文件夾 LogConfig。把有關(guān) 10g4net的一些配置文件和類都放在這個(gè)文件夾里面。 WEB網(wǎng)站為例,在項(xiàng)目 LogCon的文件夾中創(chuàng)建 Log4Net.config配置文件。 1 2 3

4、0" encoding="utf-8"?> 〈configuration〉 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 〈section name="log4

5、net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/> 〈file value="C:/log4net/"/>

6、/> 〈RollingStyle value="Date"/> 〈DatePattern value="INFO_yyyyMMdd".log"" /> 〈StaticLogFileName value="false"/> 〈lockingModel type="log4net.Appender.FileAppender+MinimalLock" /> 〈!--布局(向用戶顯示最后經(jīng)過(guò)格式化的輸出信息) --> 〈lay

7、out type="log4net.Layout.PatternLayout">

〈ConversionPattern value="記錄時(shí)間: %date 線程 ID:[%thread]日志級(jí)別: %-5level 出 錯(cuò)類:%logger property:[%property{NDC}]- 錯(cuò)誤描述:%message%newline" /> 〈appendToFile value="true"/> 48 49 50 51 52 〈layout type="l

10、og4net.Layout.PatternLayout"> 53 〈Header value="[Header] 54 "/> 55 〈Footer value="[Footer] 56 "/> 57 58 〈ConversionPattern value="記錄時(shí)間: %date 線程 ID:[%thread]日志級(jí)別: %-5level 出 59 錯(cuò)類:%logger property:[%property{NDC}]- 錯(cuò)誤描述:%message%newline" /> 60 〈/layout〉 61 〈/appender> 62

11、63 〈level value="DEBUG"/> 64 〈appender-ref ref="Log4Net_ERROR" /> 65 〈level value="INFO"/> 66 〈appender-ref ref="Log4Net_INFO" /> 67 〈/root> 68 〈/log4net> 69 〈/configuration> 70 71 72 73 74 75 76 配置文件寫完后我們?cè)趤?lái)寫一個(gè) Helper類。同樣在項(xiàng)目中創(chuàng)建一個(gè)名為 LogHelper.cs的類文 1 using log4net; 2 using System; 3

12、using System.Collections.Concurrent; 4 using System.Collections.Generic; 5 //指定log4net使用的config文件來(lái)讀取配置信息 6 [assembly: log4net.Config.XmlConfigurator(ConfigFile = @"LogConfig\Log4Net.config", 7 Watch = true)] 8 namespace Project.Log4.Net.LogConfig 9 { 10 〃/〈summary> 11 〃/日志幫助類 12 〃/〈/summary

13、> 13 public class LogHelper 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 new { private static readonly ConcurrentDictionary _loggers ConcurrentDictionar

14、y(); 〃/

〃/獲取記錄器 〃/ 〃/ 〃/ private static ILog GetLogger(Type source) { if (_loggers.ContainsKey(source)) { return _loggers[source]; } else { ILog logger = LogManager.GetLogger(source); _loggers.TryAdd(sou

15、rce, logger); return logger; } } /* Log a message object */ 〃/

〃/調(diào)試信息 〃/ 〃/ 〃/ public static void Debug(object source, string message) { Debug(source.GetType(), message); } 〃/ 〃/調(diào)試信息 〃/

16、/ 〃/ 〃/ public static void Debug(object source, string message, params object口 ps) { Debug(source.GetType(), string.Format(message, ps)); } 〃/

〃/調(diào)試信息 57 〃/ 58 59 60 61 62 63 64

17、 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 〃/ 〃/ public static void Debug(Type source, string message) { ILog logger = GetLogge

18、r(source); if (logger.IsDebugEnabled) logger.Debug(message); } 〃/

〃/關(guān)鍵信息 〃/ 〃/ 〃/ public static void Info(object source, object message) { Info(source.GetType(), message); } 〃/ 〃/關(guān)鍵信息 〃/

19、ary> 〃/ 〃/ public static void Info(Type source, object message) { ILog logger = GetLogger(source); if (logger.IsInfoEnabled) logger.Info(message); } 〃/

〃/警告信息 〃/ 〃/ 〃/

20、name="message"> public static void Warn(object source, object message) { Warn(source.GetType(), message); } 〃/

〃/警告信息 〃/ 〃/ 〃/ public static void Warn(Type source, object message) 102 103 104 105

21、106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 101 ILog logger = GetLogger(source); if (logger.IsWarnEnabled) logger.Warn(message); } 〃/

22、 〃/錯(cuò)誤信息 〃/

〃/ 〃/ public static void Error(object source, object message) { Error(source.GetType(), message); } 〃/ 〃/錯(cuò)誤信息 〃/ 〃/ 〃/ pub

23、lic static void Error(Type source, object message) { ILog logger = GetLogger(source); if (logger.IsErrorEnabled) logger.Error(message); } 〃/

〃/失敗信息 〃/ 〃/ 〃/ public static void Fatal(object source, object mes

24、sage) { Fatal(source.GetType(), message); } 〃/

〃/失敗信息 〃/ 〃/ 〃/ public static void Fatal(Type source, object message) { ILog logger = GetLogger(source); if (logger.IsFatalEnabled) logger.Fatal(message); 1

25、45 /* Log a message object and exception */ 〃/

〃/調(diào)試信息 〃/ 〃/ 〃/ 〃/ public static void Debug(object source, object message, Exception exception) { Debug(source.GetType(), message,

26、 exception); } 〃/

〃/調(diào)試信息 〃/ 〃/ 〃/ 〃/ public static void Debug(Type source, object message, Exception exception) { GetLogger(source).Debug(message, exception); } 〃/

27、 〃/關(guān)鍵信息 〃/

〃/ 〃/ 〃/ public static void Info(object source, object message, Exception exception) { Info(source.GetType(), message, exception); } 〃/ 〃/關(guān)鍵信息 〃/ 〃/ <

28、param name="source"> 〃/ 〃/ public static void Info(Type source, object message, Exception exception) { GetLogger(source).Info(message, exception); } 〃/

146 147 148 149 150 151 152 153 154 155 156 157

29、 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 〃/警告信息 189 〃/

190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212

30、213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 〃/ 〃/ 〃/ public static void Warn(object source, object message, Exception exception) { Warn(source

31、.GetType(), message, exception); } 〃/

〃/警告信息 〃/ 〃/ 〃/ 〃/ public static void Warn(Type source, object message, Exception exception) { GetLogger(source).Warn(message, exception)

32、; } 〃/

〃/錯(cuò)誤信息 〃/ 〃/ 〃/ 〃/ public static void Error(object source, object message, Exception exception) { Error(source.GetType(), message, exception); } 〃/ 〃/錯(cuò)誤信息

33、 〃/

〃/ 〃/ 〃/ public static void Error(Type source, object message, Exception exception) { GetLogger(source).Error(message, exception); } 〃/ 〃/失敗信息 〃/ 〃/

34、e="source"> 〃/ 〃/ 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 233 public

35、 static void Fatal(object source, object message, Exception exception) { Fatal(source.GetType(), message, exception); } 〃/

〃/失敗信息 〃/ 〃/ 〃/ 〃/ public static void Fatal(Type sou

36、rce, object message, Exception exception) { GetLogger(source).Fatal(message, exception); } } } 配置和Helper類都有了 ..現(xiàn)在來(lái)看看調(diào)用方法。在項(xiàng)目中創(chuàng)建一個(gè) index.aspx頁(yè)面 LogHelper.Debug(this, "Debug"); LogHelper.Error(this, "Error"); 3 LogHelper.Fatal(this, "Fatal"); 4 LogHelper.Info(this, "Info"); 5 LogHelper.Warn

37、(this, "Warn"); 日志生成格式[每天一個(gè)文件]: Download Apache log4net? Apache log4net is distributed under the Apache License, version 2.0. Starting with log4net 1.2.11 log4net is available as source only or binary only release. Users who download the ZIP files to Windows may need to unblock the archive (rig

38、ht click on the ZIP and press the "Unblock" button) before extracting it. Using a Mirror We recommend you use a mirror to download our release builds, but you must verify the integrity of the downloaded files using signatures downloaded from our main distribution directories. Recent releases (48 h

39、ours) may not yet be available from the mirrors. You are currently using If you encounter a problem with this mirror, please select another mirror. If all mirrors are failing, there are backup mirrors (at the end of the mirrors list) that should be available. Other mirrors: Change The KEYS link

40、links to the code signing keys used to sign the product. The PGP link downloads the OpenPGP compatible signature from our main site. The MD5 link downloads the checksum from the main site. log4net 1.2.15 Source 10g4net-1215-src.zip md5 pgp Binaries There are two different binary releases, oldke

41、y and newkey. Both contain assemblies built for most supported platforms and have been built from the same code base, they only differ in the strong name key used to sign the assemblies. See the FAQ for background. We recommend you use the assemblies signed with the "new" key whenever possible. 10

42、g4net-1215-bin-newkey.zip md5 pgp log4net-1215-bin-oldkey.zip md5 pgp Archives Release 1.2.11 and all more recent releases are available from the Apache Software Foundations distribution archive. The 1.2.10 and 1.2.9 releases have been created while log4net was still undergoing incubation and t

43、hose releases are available from the distribution archive for the Incubator project. Previous releases of log4net are available from the SourceForge Project Site. Verify Releases It is essential that you verify the integrity of the downloaded files using the PGP signature or MD5 checksums. The ch

44、ecksums are not as strong indicators as the PGP signature. Please read Verifying Apache HTTP Server Releases for more information on why you should verify our releases. The PGP keys used to sign our distributions are part of the KEYS file. ?計(jì)算機(jī)?本地遨盅(C:) ? Iog4net ▼ I J" 13— ― —一 」 斶⑻ 意看(V)工具E 幫助

45、(H) 英 聒 羽 證間的位置 ERROR_20150402.log | 502字元 二(N10_20150402.log I 502字方 - -k lN30_20150403.log ! | 文本文檔 I I 20字節(jié) ERROR_20150403.tog 文本文檔 I 542 字E tN10_20150403Jog 義本文檔 2。字節(jié) lN60_20150403.log 1。李三 包含至瞬中, 共享, 刻錄 參數(shù)說(shuō)明 Log4Net.config是配置日志輸出參數(shù)文件。在這個(gè)文件中可以到看很多配置節(jié)點(diǎn),大體可以 分為二個(gè)大類

46、ctions>... 和 ... 。我們來(lái)看看這 些節(jié)點(diǎn)都是啥意思。 1 : ..:申明自定義節(jié)點(diǎn) 10g4net解析的類名和程序集名 (log4net.dll)。 2: ..:使用10g4net的配置信息都在這里設(shè)置。來(lái)重點(diǎn)看看都有那些設(shè)置 信息,這個(gè)大節(jié)點(diǎn)整體也可以分為二類。 2.1 :定義輸出信息設(shè)置節(jié)點(diǎn) 。 2.2 :定義日志的輸出媒介

47、t> 。 配置的總體結(jié)構(gòu)就是這樣,下面來(lái)看一些詳細(xì)內(nèi)容。 appender:決定日志輸出的方式(可設(shè)置多個(gè)節(jié)點(diǎn),如對(duì) INFO, ERRO曲設(shè)置不同的輸出方 式)。 主要包括已下幾種: 1 AnsiColorTerminalAppender:在ANSI窗口終端寫下高亮度的日志事件。 2 AspNetTraceAppender:能用中Trace的方式查看記錄的日志。 3 BufferingForwardingAppender:在輸出到子Appenders之前先緩存日志事件。 4 ConsoleAppender:將日志輸出到控制臺(tái)。 5 EventLogAppender:4各日

48、志寫至U Windows Event Log. 6 FileAppender:將日志寫到文件中。 7 LocalSyslogAppender:將日志寫至ij local syslog service (僅用于 UNIX 環(huán)境下). 8 MemoryAppender:將日志存到內(nèi)存緩沖區(qū)。 9 NetSendAppender:將日志輸出到 Windows Messenger service.這些日志信息將在用戶終端的 對(duì)話框中顯示。 10 RemoteSyslogAppender:通過(guò) UDP 網(wǎng)絡(luò)協(xié)議將日志寫到 Remote syslog serviceo 11 RemotingA

49、ppender:通過(guò).NET Remoting將日志寫到遠(yuǎn)程接收端。 12 RollingFileAppender:將日志以回滾文件的形式寫到文件中。 (實(shí)例代碼中使用的是此類型) 13 SmtpAppender:將日志寫到郵件中。 14 TraceAppender:將日志寫到.NET trace 系統(tǒng)。 15 UdpAppender:將日志 connectionless UDP datagrams 的形式送到遠(yuǎn)程宿主或以 UdpClient 的 形式廣播。 從上面提供的方式中可以看出能輸出文件、控制臺(tái)、 Windows事件日志和數(shù)據(jù)庫(kù)。這個(gè)可 根據(jù)實(shí)際情況選擇。 復(fù)制代碼代碼

50、如下: ... < /appender> 這里配置的name ("Log4Net_INFO")會(huì)在定義日志的輸出媒介中使用到。 name可任意設(shè)置。 在appender節(jié)點(diǎn)中還會(huì)配置一些文件存放的地址,日志個(gè)數(shù)等信息。這些在實(shí)例代碼中都 在體現(xiàn),這里不做說(shuō)明。我們?cè)趤?lái)看看日志最后輸出呈現(xiàn)的布局設(shè)置信息。 1 〈layout type="log4net.Layout.PatternLayout"> 2 3 〈Hea

51、der value="[Header]"/> 4 5

6 7 〈ConversionPattern value="%d [%t] %-5p %c [%x] - %m%n" /> 8 這里配置的信息最終是日志打印出來(lái)的樣式。我們可以看到這里可以設(shè)置內(nèi)容頭 Header和 尾Footer。正文ConversionPattern。在正文中有出現(xiàn)有 %d [%t]這些都是啥意思了表示什么。 這里有一個(gè)對(duì)照表可提供參考: %m(message)輸出的日志消息,如 ILog.

52、Debug(…)輸出的一條消息 %n(new line):換行 %d(datetime):輸出當(dāng)前語(yǔ)句運(yùn)行的時(shí)刻 %r(run time):輸出程序從運(yùn)行到執(zhí)行到當(dāng)前語(yǔ)句時(shí)消耗的毫秒數(shù) %t(thread id):當(dāng)前語(yǔ)句所在的線程 ID %p(priority):日志的當(dāng)前優(yōu)先級(jí)別,即 DEBUG INF。WARN…等 %c(class)當(dāng)前日志對(duì)象的名稱,例如: %L:輸出語(yǔ)句所在的行號(hào) %F:輸出語(yǔ)句所在的文件名 %啜字:表示該項(xiàng)的最小長(zhǎng)度,如果不夠,則用空格填充 配置的基本也就這些。下就是 root的配置說(shuō)明。 root: 對(duì)設(shè)置輸出的方式進(jìn)行指定。 1

53、2 3 4 5 6 7 8 9 控制級(jí)別,由低到高:ALL|DEBUG|INFO|WARN|ERROR|FATAL|OFF 比如定義級(jí)別為INFO,則INFO級(jí)別向下的級(jí)別,比如 DEBUG日志將不會(huì)被記錄 如果沒(méi)有定義LEVEL的值,則缺省為DEBUG

展開閱讀全文
溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號(hào):ICP2024067431號(hào)-1 川公網(wǎng)安備51140202000466號(hào)


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請(qǐng)立即通知裝配圖網(wǎng),我們立即給予刪除!