Log4Net日志配置[附帶源碼下載]概要
《Log4Net日志配置[附帶源碼下載]概要》由會員分享,可在線閱讀,更多相關(guān)《Log4Net日志配置[附帶源碼下載]概要(14頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。
1、 Log4Net日志配置[附帶源碼下載] 這篇文章主要介紹了 Log4Net日志配置[附帶源碼下載]需要的朋友可以參考下 前述 園子里有許多人對10g4net這款開源的日志記錄控件有很多介紹。在這里個(gè)人再做一次 總結(jié),希望對以后有所幫助, 需要的時(shí)候可以直接使用, 減少查閱資料的時(shí)間。 利用10g4net 可以方便地將日志信息記錄到文件、控制臺、 Windows事件日志和數(shù)據(jù)庫,并且我們還可 以記載控制要記載的日志級別,可以記載的日志類別包括: FATAL(致命錯(cuò)誤)、ERROR(一 般錯(cuò)誤)、WARN (警告)、INFO (一般信息)、DEBUG (調(diào)試信息)。10g4net
2、有四種主要的 組件,分別是Logger (記錄器),Repository (庫),Appender (附著器)以及Layout (布局). 準(zhǔn)備工作: 1.下載 log4net.dll 下載地址[http://logging.apache.org/log4net/download_log4net.cgi] 下載文件:log4net-1213-bin-newkey.zip。 解壓選擇對應(yīng)的 net版本找到log4net.dll。 彘一 交翩 MlbEi IMn Hftihn 郵” 5aA,坤▼ 取 ◎叔帙 G ill ? jjl H jj 10 ,隆 III 一 1一 『期 2.在
3、項(xiàng)目中引用log4net.dll。 解決方案資源苣理器 嗟家望?詼案變源皆理髓 m 嶙;突方案”仕個(gè)項(xiàng)目) 」圓 Project.Log4.Net D ,Propertfes ■向引用 W Iog4net ■" Mkrosoft.CSharp ■■■ System 實(shí)例代碼 準(zhǔn)備工作完成后我們來看下實(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、net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net"/>
6、/>
〈RollingStyle value="Date"/>
〈DatePattern value="INFO_yyyyMMdd".log"" />
〈StaticLogFileName value="false"/>
〈lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
〈!--布局(向用戶顯示最后經(jīng)過格式化的輸出信息) -->
〈lay 7、out type="log4net.Layout.PatternLayout">
10、og4net.Layout.PatternLayout">
53 〈Header value="[Header]
54 "/>
55 〈Footer value="[Footer]
56 "/>
57
58 〈ConversionPattern value="記錄時(shí)間: %date 線程 ID:[%thread]日志級別: %-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 配置文件寫完后我們在來寫一個(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文件來讀取配置信息 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
14、y
15、rce, logger); return logger;
} } /* Log a message object */ 〃/
16、/
〃/
〃/
public static void Debug(object source, string message, params object口 ps) {
Debug(source.GetType(), string.Format(message, ps));
}
〃/
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);
}
〃/ 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);
}
〃/ 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ò)誤信息
〃/
23、lic static void Error(Type source, object message)
{
ILog logger = GetLogger(source);
if (logger.IsErrorEnabled)
logger.Error(message);
}
〃/
24、sage)
{
Fatal(source.GetType(), message);
}
〃/
25、45 /* Log a message object and exception */
〃/
26、 exception);
}
〃/
27、
〃/關(guān)鍵信息
〃/
〃/
〃/
〃/
public static void Info(object source, object message, Exception exception)
{
Info(source.GetType(), message, exception);
}
〃/
28、param name="source">
〃/
〃/
public static void Info(Type source, object message, Exception exception)
{
GetLogger(source).Info(message, exception);
}
〃/
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);
}
〃/
32、;
}
〃/
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);
}
〃/
36、rce, object message, Exception exception) { GetLogger(source).Fatal(message, exception); } } } 配置和Helper類都有了 ..現(xiàn)在來看看調(diào)用方法。在項(xiàng)目中創(chuàng)建一個(gè) index.aspx頁面 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 pgplog4net-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ù)說明
Log4Net.config是配置日志輸出參數(shù)文件。在這個(gè)文件中可以到看很多配置節(jié)點(diǎn),大體可以 分為二個(gè)大類 46、ctions>... 和 47、t> 。
配置的總體結(jié)構(gòu)就是這樣,下面來看一些詳細(xì)內(nèi)容。
appender:決定日志輸出的方式(可設(shè)置多個(gè)節(jié)點(diǎn),如對 INFO, ERRO曲設(shè)置不同的輸出方
式)。
主要包括已下幾種:
1 AnsiColorTerminalAppender:在ANSI窗口終端寫下高亮度的日志事件。
2 AspNetTraceAppender:能用中Trace的方式查看記錄的日志。
3 BufferingForwardingAppender:在輸出到子Appenders之前先緩存日志事件。
4 ConsoleAppender:將日志輸出到控制臺。
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.這些日志信息將在用戶終端的 對話框中顯示。
10 RemoteSyslogAppender:通過 UDP 網(wǎng)絡(luò)協(xié)議將日志寫到 Remote syslog serviceo
11 RemotingA 49、ppender:通過.NET Remoting將日志寫到遠(yuǎn)程接收端。
12 RollingFileAppender:將日志以回滾文件的形式寫到文件中。 (實(shí)例代碼中使用的是此類型)
13 SmtpAppender:將日志寫到郵件中。
14 TraceAppender:將日志寫到.NET trace 系統(tǒng)。
15 UdpAppender:將日志 connectionless UDP datagrams 的形式送到遠(yuǎn)程宿主或以 UdpClient 的
形式廣播。
從上面提供的方式中可以看出能輸出文件、控制臺、 Windows事件日志和數(shù)據(jù)庫。這個(gè)可
根據(jù)實(shí)際情況選擇。
復(fù)制代碼代碼 50、如下:
51、der value="[Header]"/>
4
5
6
7 〈ConversionPattern value="%d [%t] %-5p %c [%x] - %m%n" />
8
這里配置的信息最終是日志打印出來的樣式。我們可以看到這里可以設(shè)置內(nèi)容頭 Header和
尾Footer。正文ConversionPattern。在正文中有出現(xiàn)有 %d [%t]這些都是啥意思了表示什么。
這里有一個(gè)對照表可提供參考:
%m(message)輸出的日志消息,如 ILog. 52、Debug(…)輸出的一條消息
%n(new line):換行
%d(datetime):輸出當(dāng)前語句運(yùn)行的時(shí)刻
%r(run time):輸出程序從運(yùn)行到執(zhí)行到當(dāng)前語句時(shí)消耗的毫秒數(shù)
%t(thread id):當(dāng)前語句所在的線程 ID
%p(priority):日志的當(dāng)前優(yōu)先級別,即 DEBUG INF。WARN…等
%c(class)當(dāng)前日志對象的名稱,例如:
%L:輸出語句所在的行號
%F:輸出語句所在的文件名
%啜字:表示該項(xiàng)的最小長度,如果不夠,則用空格填充
配置的基本也就這些。下就是 root的配置說明。
root:
對設(shè)置輸出的方式進(jìn)行指定。
1
53、2
3
4
5
6
7
8
9
- 溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識競賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識測試題庫及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測工種技術(shù)比武題庫含解析
- 1 礦山應(yīng)急救援安全知識競賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案