Log4Net日志配置[附帶源碼下載]概要
《Log4Net日志配置[附帶源碼下載]概要》由會(huì)員分享,可在線閱讀,更多相關(guān)《Log4Net日志配置[附帶源碼下載]概要(14頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、Log4Net日志配置附帶源碼下載這篇文章主要介紹了 Log4Net日志配置附帶源碼下載需要的朋友可以參考下 前述園子里有許多人對(duì)10g4net這款開(kāi)源的日志記錄控件有很多介紹。在這里個(gè)人再做一次 總結(jié),希望對(duì)以后有所幫助,需要的時(shí)候可以直接使用,減少查閱資料的時(shí)間。 利用10g4net可以方便地將日志信息記錄到文件、控制臺(tái)、Windows事件日志和數(shù)據(jù)庫(kù),并且我們還可以記載控制要記載的日志級(jí)別,可以記載的日志類別包括:FATAL(致命錯(cuò)誤)、ERROR(一般錯(cuò)誤)、WARN (警告)、INFO (一般信息)、DEBUG (調(diào)試信息)。10g4net有四種主要的 組件,分別是Logger (記
2、錄器),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,坤 取 叔帙Gill jjl Hjj 10,隆III 一1一期2.在項(xiàng)目中引用log4net.dll。解決方案資源苣理器嗟家望詼案變?cè)唇岳硭鑝 嶙;突方案”仕個(gè)項(xiàng)目)圓
3、Project.Log4.NetD ,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配置文件。123configuration567891011121314151617181920212223242526272829303132333435363738394041424344454647section name=log4net
4、 type=log4net.Config.Log4NetConfigurationSectionHandler, log4net/ file value=C:/log4net/RollingStyle value=Date/DatePattern value=INFO_yyyyMMdd.log /StaticLogFileName value=false/lockingModel type=log4net.Appender.FileAppender+MinimalLock /!-布局(向用戶顯示最后經(jīng)過(guò)格式化的輸出信息)-layout type=log4net.Layout.PatternLa
5、yout ConversionPattern value=記錄時(shí)間: %date 線程 ID:%thread日志級(jí)別: %-5level 出 錯(cuò)類:%logger property:%propertyNDC- 錯(cuò)誤描述:message%newline / appendToFile value=true/48 49 50 51 52 layout type=log4net.Layout.PatternLayout53 Header value=Header54/55 Footer value=Footer56/5758 ConversionPattern value=記錄時(shí)間: date 線程
6、ID:%thread日志級(jí)別: -5level 出59 錯(cuò)類:%logger property:%propertyNDC- 錯(cuò)誤描述:%message%newline /60 /layout61 /appender62 63 level value=DEBUG/64 appender-ref ref=Log4Net_ERROR /65 level value=INFO/66 appender-ref ref=Log4Net_INFO /67 /root68 /log4net69 /configuration70717273747576配置文件寫完后我們?cè)趤?lái)寫一個(gè)Helper類。同樣在項(xiàng)目中創(chuàng)建
7、一個(gè)名為L(zhǎng)ogHelper.cs的類文1 using log4net;2 using System;3 using System.Collections.Concurrent;4 using System.Collections.Generic;5 /指定log4net使用的config文件來(lái)讀取配置信息6 assembly: log4net.Config.XmlConfigurator(ConfigFile = LogConfigLog4Net.config,7 Watch = true)8 namespace Project.Log4.Net.LogConfig9 10 /summary1
8、1 /日志幫助類12/summary13public class LogHelper14151617181920212223242526272829303132333435363738394041424344454647484950515253545556newprivate static readonly ConcurrentDictionary _loggers ConcurrentDictionary();/ /獲取記錄器/ / / private static ILog GetLogger(Type source)if (_loggers.ContainsKey(source)retu
9、rn _loggerssource; elseILog logger = LogManager.GetLogger(source);_loggers.TryAdd(source, logger); return logger; /* Log a message object */ / /調(diào)試信息 / / / public static void Debug(object source, string message) Debug(source.GetType(), message);/ /調(diào)試信息/ / / / public static void Debug(object source, s
10、tring message, params object口 ps) Debug(source.GetType(), string.Format(message, ps);/ /調(diào)試信息57/ 585960616263646566676869707172737475767778798081828384858687888990919293949596979899100/ / public static void Debug(Type source, string message)ILog logger = GetLogger(source);if (logger.IsDebugEnabled)lo
11、gger.Debug(message);/ /關(guān)鍵信息/ / / public static void Info(object source, object message)Info(source.GetType(), message);/ /關(guān)鍵信息/ / / public static void Info(Type source, object message)ILog logger = GetLogger(source);if (logger.IsInfoEnabled)logger.Info(message);/ /警告信息/ / / public static void Warn(o
12、bject source, object message) Warn(source.GetType(), message);/ /警告信息/ / / public static void Warn(Type source, object message)102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144101ILog logger = GetLogger(source);if (logge
13、r.IsWarnEnabled)logger.Warn(message);/ /錯(cuò)誤信息/ / / public static void Error(object source, object message)Error(source.GetType(), message);/ /錯(cuò)誤信息/ / / public static void Error(Type source, object message)ILog logger = GetLogger(source);if (logger.IsErrorEnabled)logger.Error(message);/ /失敗信息/ / / pub
14、lic static void Fatal(object source, object message)Fatal(source.GetType(), message);/ /失敗信息/ / / public static void Fatal(Type source, object message)ILog logger = GetLogger(source);if (logger.IsFatalEnabled)logger.Fatal(message);145 /* Log a message object and exception */ /調(diào)試信息/ / / / public stat
15、ic void Debug(object source, object message, Exception exception) Debug(source.GetType(), message, exception);/ /調(diào)試信息/ / / / public static void Debug(Type source, object message, Exception exception)GetLogger(source).Debug(message, exception);/ /關(guān)鍵信息/ / / / public static void Info(object source, obj
16、ect message, Exception exception)Info(source.GetType(), message, exception);/ /關(guān)鍵信息/ / / / public static void Info(Type source, object message, Exception exception)GetLogger(source).Info(message, exception);/ 1461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751
17、76177178179180181182183184185186187188/警告信息189/ 190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232/ / / public static void Warn(object source, object message, Exception exception) Warn(source.GetType(), message, exception
18、);/ /警告信息/ / / / public static void Warn(Type source, object message, Exception exception)GetLogger(source).Warn(message, exception);/ /錯(cuò)誤信息/ / / / public static void Error(object source, object message, Exception exception)Error(source.GetType(), message, exception);/ /錯(cuò)誤信息/ / / / public static voi
19、d Error(Type source, object message, Exception exception)GetLogger(source).Error(message, exception);/ /失敗信息/ / / / 234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272233public static void Fatal(object source, object message, Exceptio
20、n exception)Fatal(source.GetType(), message, exception);/ /失敗信息/ / / / public static void Fatal(Type source, 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 LogH
21、elper.Fatal(this, Fatal);4 LogHelper.Info(this, Info);5 LogHelper.Warn(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 Z
22、IP files to Windows may need to unblock the archive (right click on the ZIP and press the Unblock button) before extracting it.Using a MirrorWe 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 ma
23、in distribution directories. Recent releases (48 hours) 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 av
24、ailable.Other mirrors:ChangeThe KEYS link 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.15Source10g4net-1215-src.zip md5 pgpBinariesThere are two
25、different binary releases, oldkey 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 ne
26、w key whenever possible.10g4net-1215-bin-newkey.zipmd5 pgplog4net-1215-bin-oldkey.zip md5 pgpArchivesRelease 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
27、incubation and those releases are available from the distribution archive for the Incubator project.Previous releases of log4net are available from the SourceForge Project Site.Verify ReleasesIt is essential that you verify the integrity of the downloaded files using the PGP signature or MD5 checksu
28、ms. The checksums 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 J13 一 斶意看(V)工具E幫助(H)英聒羽證間的位置ER
29、ROR_20150402.log| 502字元二(N10_20150402.logI 502字方- -k lN30_20150403.log!| 文本文檔II 20字節(jié)ERROR_20150403.tog 文本文檔I 542 字EtN10_20150403Jog義本文檔 2。字節(jié)lN60_20150403.log1。李三包含至瞬中,共享, 刻錄參數(shù)說(shuō)明Log4Net.config是配置日志輸出參數(shù)文件。在這個(gè)文件中可以到看很多配置節(jié)點(diǎn),大體可以 分為二個(gè)大類 . 和 . 。我們來(lái)看看這 些節(jié)點(diǎn)都是啥意思。1 : .:申明自定義節(jié)點(diǎn)10g4net解析的類名和程序集名(log4net.dll)。2
30、: .:使用10g4net的配置信息都在這里設(shè)置。來(lái)重點(diǎn)看看都有那些設(shè)置 信息,這個(gè)大節(jié)點(diǎn)整體也可以分為二類。2.1 :定義輸出信息設(shè)置節(jié)點(diǎn) 。2.2 :定義日志的輸出媒介 。配置的總體結(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:在輸出到子Appen
31、ders之前先緩存日志事件。4 ConsoleAppender:將日志輸出到控制臺(tái)。5 EventLogAppender:4各日志寫至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
32、:通過(guò) UDP 網(wǎng)絡(luò)協(xié)議將日志寫到 Remote syslog serviceo11 RemotingAppender:通過(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)、W
33、indows事件日志和數(shù)據(jù)庫(kù)。這個(gè)可根據(jù)實(shí)際情況選擇。復(fù)制代碼代碼如下:.這里配置的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.PatternLayout23Header value=Header/4567ConversionPattern value=%d %t %-5p %c %x - %m%n /8 這里配置的信息最終是日志打印出來(lái)的
34、樣式。我們可以看到這里可以設(shè)置內(nèi)容頭Header和尾Footer。正文ConversionPattern。在正文中有出現(xiàn)有%d %t這些都是啥意思了表示什么。這里有一個(gè)對(duì)照表可提供參考:%m(message)輸出的日志消息,如ILog.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)行指定。123456789控制級(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 商務(wù)智能解決方案
- 課題3有機(jī)合成材料
- 課程選修課電子創(chuàng)新設(shè)計(jì)第一部分
- 老年患者的麻醉
- 土壤的酸堿性
- 員工晉升匯報(bào)演講(模板)
- 商務(wù)禮儀之會(huì)務(wù)禮儀課件
- 產(chǎn)量決策規(guī)則
- 產(chǎn)說(shuō)會(huì)操作流程
- 開(kāi)放英語(yǔ)1基礎(chǔ)語(yǔ)法(代詞)
- 財(cái)務(wù)報(bào)表分析張新民
- 財(cái)務(wù)培訓(xùn)內(nèi)容
- 安全管理借鑒的理論P(yáng)PT課件
- 《美麗的丹頂鶴》(精品)
- Mckinsey上廣電人力資源管理創(chuàng)新方案(中期)