此文檔是我在"大道至簡(jiǎn)"的基礎(chǔ)上修改而成,再次表示謝謝!
(一)log4net的標(biāo)準(zhǔn)配置文檔示例
<?xmlversion="1.0"encoding="utf-8" ?>
<configuration>
<configSections>
<sectionname="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler" />
</configSections>
<log4net>
<root>
<levelvalue="WARN" />
<appender-refref="LogFileAppender" />
<appender-refref="ConsoleAppender" />
</root>
<loggername="testApp.Logging">
<levelvalue="DEBUG"/>
</logger>
<appendername="LogFileAppender" type="log4net.Appender.FileAppender" >
<paramname="File"value="log-file.txt" />
<paramname="AppendToFile"value="true" />
<layouttype="log4net.Layout.PatternLayout">
<paramname="Header"value="[Header] "/>
<paramname="Footer"value="[Footer] "/>
<paramname="ConversionPattern" value="%d [%t] %-5p %c[%x] - %m%n" />
</layout>
<filtertype="log4net.Filter.LevelRangeFilter">
<paramname="LevelMin"value="DEBUG" />
<paramname="LevelMax"value="WARN" />
</filter>
</appender>
<appendername="ConsoleAppender" type="log4net.Appender.ConsoleAppender" >
<layouttype="log4net.Layout.PatternLayout">
<paramname="ConversionPattern" value="%d [%t] %-5p %c [%x] -%m%n" />
</layout>
</appender>
</log4net>
</configuration>
(二)log4net配置文件與程序的關(guān)聯(lián)
log4net的配置可以放在應(yīng)用程序的默認(rèn)配置文件中(app.config或web.config),也可以在自己指定的配置文件中。log4net框架中是使用log4net.Config.XmlConfigurator在程序集的級(jí)別上定義配置文件。
(1)winform程序中,如果配置在app.config文件中,配置文件的結(jié)構(gòu)如示例。這時(shí)找到當(dāng)前項(xiàng)目的Assemblyinfo.cs文件添加
[assembly:log4net.Config.XmlConfigurator(ConfigFileExtension = "config", Watch= true)] app.config文件屬性設(shè)置保持默認(rèn)。
(2)winform程序中,如果配置在自定義文件中如"Config.txt"中。這時(shí)找到當(dāng)前項(xiàng)目的Assemblyinfo.cs文件添加
[assembly:log4net.Config.XmlConfigurator(ConfigFile="config.txt", Watch =true)] Config.txt文件的屬性要設(shè)置為復(fù)制。就是要輸出到輸出目錄。
這個(gè)時(shí)候配置可以省略示例模版中<configSection>節(jié)點(diǎn)里的<section>節(jié)點(diǎn)。
ConfigFile:指出了我們的配置文件的路徑及文件名,包括擴(kuò)展名。
ConfigFileExtension:如果我們對(duì)被編譯程序的程序集使用了不同的文件擴(kuò)展名,那么我們需要定義這個(gè)屬性,缺省的,程序集的配置文件擴(kuò)展名為"config".
更多http://www.cnblogs.com/relaibma/
Watch (Boolean屬性): log4net框架用這個(gè)屬性來(lái)確定是否需要在運(yùn)行時(shí)監(jiān)視文件的改變。如果這個(gè)屬性為true,那么FileSystemWatcher將會(huì)被用來(lái)監(jiān)視文件的改變,重命名,刪除等事件。
其中:ConfigFile和ConfigFileExtension屬性不能同時(shí)使用,ConfigFile指出了配置文件的名字,例如,ConfigFile="Config.txt"
ConfigFileExtension則是指明了和可執(zhí)行程序集同名的配置文件的擴(kuò)展名,例如,應(yīng)用程序的名稱是"test.exe",ConfigFileExtension="txt",則配置文件就應(yīng)該是"test.exe.txt" ;
也可以在程序代碼中用DOMConfigurator類打開配置文件。類的構(gòu)造函數(shù)需要一個(gè)FileInfo對(duì)象作參數(shù),以指出要打開的配置文件名。這個(gè)方法和前面在程序集里設(shè)置屬性打開一個(gè)配置文件的效果是一樣的。
log4net.Config.DOMConfigurator.Configure(newFileInfo("TestLogger.Exe.Config"));
DOMConfigurator 類還有一個(gè)方法ConfigureAndWatch(), 用來(lái)配置框架并檢測(cè)文件的變化。
(二)節(jié)點(diǎn)分析
在配置章節(jié)中,定義section節(jié)點(diǎn)。節(jié)點(diǎn)名稱為:須為log4net,且大小寫敏感。
<configSections>
<sectionname="log4net"
type="log4net.Config.Log4NetConfigurationSectionHandler" />
</configSections>
(三)log4net節(jié)點(diǎn)說明
(1)節(jié)點(diǎn)支持的屬性,debug,update,threshold三個(gè)屬性
debug 可選,取值是true或false,默認(rèn)是false.設(shè)置為true,開啟log4net的內(nèi)部調(diào)試。
update 可選,取值是Merge(合并)或Overwrite(覆蓋),默認(rèn)值是Merge.設(shè)置為Overwrite,在提交配置的時(shí)候會(huì)重置已經(jīng)配置過的庫(kù)。
threshold 可選,取值是repository(庫(kù))中注冊(cè)的level,默認(rèn)值是ALL.
(2)支持子元素
appender 0或多個(gè)
logger 0或多個(gè)
renderer 0或多個(gè)
root 最多一個(gè)
param 0或多個(gè)
(四)root節(jié)點(diǎn)說明
(1)根logger,所有其它logger都默認(rèn)繼承它。root元素沒有屬性。
(2)支持的子元素 www.2cto.com
appender-ref 0個(gè)或多個(gè),要引用的appender的名字。
· level 最多一個(gè)。只有在這個(gè)級(jí)別或之上的事件才會(huì)被記錄。
· param 0個(gè)或多個(gè),設(shè)置一些參數(shù)。
<root>
<levelvalue="WARN" />
<appender-refref="LogFileAppender" />
<appender-refref="ConsoleAppender" />
</root>
(五)Logger節(jié)點(diǎn)說明
(1)支持的屬性name,Additivity兩個(gè)屬性
name 必須的,logger的名稱
additivity 可選,取值是true或false,默認(rèn)值是true.設(shè)置為false時(shí)將阻止父logger中的appender.
(2)支持的子元素:
appender-ref 0個(gè)或多個(gè),要引用的appender的名字。
·level 最多一個(gè)。只有在這個(gè)級(jí)別或之上的事件才會(huì)被記錄。
·param 0個(gè)或多個(gè),設(shè)置一些參數(shù)。
例如:<loggername="testApp.Logging">
<levelvalue="DEBUG"/>
</logger>
(六)Appender節(jié)點(diǎn)說明
(1)定義日志的輸出方式,只能作為 log4net 的子元素。name屬性必須唯一,type屬性必須指定。支持name,type兩個(gè)屬性。
name 必須的,Appender對(duì)象的名稱
type 必須的,Appender對(duì)象的輸出類型
(2)支持的子元素:
· appender-ref 0個(gè)或多個(gè),允許此appender引用其他appender,并不是所以appender類型都支持。
·filter 0個(gè)或多個(gè),定義此app使用的過濾器。
·layout 最多一個(gè)。定義appender使用的輸出格式。
· param 0個(gè)或多個(gè),設(shè)置Appender類中對(duì)應(yīng)的屬性的值。
例如: LogFileAppender 節(jié)點(diǎn)日志文件輸出。type="log4net.Appender.FileAppender"
ConsoleAppender節(jié)點(diǎn)控制臺(tái)輸出。type="log4net.Appender.ConsoleAppender"
(七)Filter節(jié)點(diǎn)說明
過濾器,只能作為<appender>的子元素。
支持的屬性:
type 必須的,F(xiàn)ilter的類型
支持的子元素:param 0個(gè)或多個(gè),設(shè)置一些參數(shù)。
(八)Layout節(jié)點(diǎn)說明
布局,只能作為<appender>的子元素。
支持的屬性:
type 必須的,Layout的類型
支持的子元素:param 0個(gè)或多個(gè),設(shè)置一些參數(shù)。
(九)Param
<param>元素可以是如何元素的子元素。
支持的屬性:
name 必須的,取值是父對(duì)象的參數(shù)名。
value 可選的,value和type中,必須有一個(gè)屬性被指定。value是一個(gè)能被轉(zhuǎn)化為參數(shù)值的字符串。
type 可選的,value和type中,必須有一個(gè)屬性被指定。type是一個(gè)類型名,如果type不是在log4net程序集中定義的,就需要使用全名。
支持的子元素:param 0個(gè)或多個(gè),設(shè)置一些參數(shù)。
創(chuàng)新互聯(lián)www.cdcxhl.cn,專業(yè)提供香港、美國(guó)云服務(wù)器,動(dòng)態(tài)BGP最優(yōu)骨干路由自動(dòng)選擇,持續(xù)穩(wěn)定高效的網(wǎng)絡(luò)助力業(yè)務(wù)部署。公司持有工信部辦法的idc、isp許可證, 機(jī)房獨(dú)有T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確進(jìn)行流量調(diào)度,確保服務(wù)器高可用性。佳節(jié)活動(dòng)現(xiàn)已開啟,新人活動(dòng)云服務(wù)器買多久送多久。
當(dāng)前文章:使用log4net配置相關(guān)信息-創(chuàng)新互聯(lián)
網(wǎng)站URL:http://jinyejixie.com/article6/jeoog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、服務(wù)器托管、品牌網(wǎng)站建設(shè)、定制網(wǎng)站、企業(yè)網(wǎng)站制作、品牌網(wǎng)站設(shè)計(jì)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容
網(wǎng)頁(yè)設(shè)計(jì)公司知識(shí)