亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Log4net中的RollingFileAppender解析

系統 2432 0

Log4日志組件的應用確實簡單實用,在比較了企業庫和Log4的日志功能后,個人覺得Log4的功能更加強大點.補充說明下,我使用的企業庫是2.0版本,Log4net是1.2.1版本的.

在Log4net的應用上,已經有人做了說明分析了,在本文中,主要解析下Log4net中的RollingFileAppender的應用.

主要參考了Log4net的幫助文檔.在項目中的log4net-1.2.10\doc文件下有.


RollingFileAppender主要是基于FileAppender構建的,很多屬性方法都是繼承于FileAppender,所以在選項設置上,也有許多是相同的.

下面的例子使日志文件名為log.txt,日志文件名是以文件大小進行變換的,如果舊日志文件大小到100KB時,就會變換文件名為log.txt.1,log.txt.2,log.txt.3...,一直到10為止

<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender">??
??????? <!--日志文件名-->
??? <file value="log.txt"/>
??? <!--是否在文件中追加-->
??? <appendToFile value="true"/>
??? <!--按照文件的大小進行變換日志文件-->
??? <rollingStyle value="Size"/>
??? <!--最大變換數量-->
??? <maxSizeRollBackups value="10"/>
??? <!--最大文件大小-->
??? <maximumFileSize value="100KB"/>
??? <!--日志文件名是否為靜態-->
??? <staticLogFileName value="true"/>
??? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline"/>
??? </layout>
</appender>
下面的例子以時間周期變換日志文件名,每分鐘都改變日志的文件名,日志文件名為logfileyyyyMMdd-HHmm,這里補充說明下,如果要在這個文件名后面加上.log后綴,必須使用轉義字符,比如<datePattern value="yyyyMMdd-HHmm&quot;.log&quot;" />

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
??????? <!--日志文件名開頭-->
??? <file value="logfile" />
??? <!--是否追加到文件-->
??? <appendToFile value="true" />
??? <!--變換的形式為日期-->
??? <rollingStyle value="Date" />
??? <!--日期的格式-->
??? <datePattern value="yyyyMMdd-HHmm" />
??? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
??? </layout>
</appender>
下面的例子綜合使用使用日期和文件大小變換日志文件名。

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
??? <!--日志文件名開頭-->
??? <file value="logfile" />
??? <!--是否追加到文件-->
??? <appendToFile value="true" />
??? <!--混合使用日期和文件大小變換日志文件名-->
??? <rollingStyle value="Composite" />
??? <!--日期的格式-->
??? <datePattern value="yyyyMMdd" />
??? <!--最大變換數量-->
??? <maxSizeRollBackups value="10" />
??? <!--最大文件大小-->
??? <maximumFileSize value="1MB" />
??? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
??? </layout>
</appender>
下面例子是在每次程序運行的時候,都會備份原先的日志文件,當運行的日志文件大于50G的時候才會變換日志文件名。

<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
??? <!--日志文件名-->
??? <file value="logfile.txt" />
??? <!--不追加到原文件-->
??? <appendToFile value="false" />
??? <!--以日志文件大小變換文件名-->
??? <rollingStyle value="Size" />
??? <!--最大變換數量,-1為不限制-->
??? <maxSizeRollBackups value="-1" />
??? <!--最大文件大小-->
??? <maximumFileSize value="50GB" />
??? <layout type="log4net.Layout.PatternLayout">
??????? <conversionPattern value="%date [%thread] %-5level %logger [%property{NDC}] - %message%newline" />
??? </layout>
</appender>
下面是RollingFileAppender類中的部分Public Instance Properties(公共屬性)的說明,沒有全部測試,難免謬誤,如果你知道,請不要吝嗇告寫。
CountDirection : 定義當前文件是最小編號的文件還是最大編號的文件。默認為-1,總是以更小的編號。
datePattern : DateFormatter日期格式,string類型。
Encoding : 就是文件的編碼,默認為Default,就是程序本身的編碼了。
FilterHead : 分割符頭部。
ImmediateFlush : 表示是否立即輸出到文件,布爾型的。
LockingModel : 文件鎖類型,RollingFileAppender本身不是線程安全的,如果在程序中沒有進行線程安全的限制,可以在這里進行配置,確保寫入時的安全。有兩中類型:FileAppender.ExclusiveLock 和 FileAppender.MinimalLock
Name : 設置本Appander的名稱。
SecurityContext : 比較少應用,對日志進行加密只類的,使用SecurityContextProvider轉換。(對日志的保密要求比較高的時候應該可以應用上吧,Log4考慮的還挺周全)
Threshold : 設置內容級別的,比如:DEBUG,INFO等等。

?

在Log4net的配置中有兩種方法是等價的:
<param name="File" value="log.txt" /> 和
<File value="log.txt" />
個人更傾向后者。在一些數據庫上的應用時還有許多Param呢。

?

小結
Log4的應用遠不止這些,幫助文件也是很詳盡的,在程序級還是配置級都有相關例子。在整理了一個RollingFileAppender就花了我不少工夫。如果有機會接觸到其他的內容,我會繼續整理出來。

?

本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/much0726/archive/2009/01/07/3725563.aspx

Log4net中的RollingFileAppender解析


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 国产欧美中文字幕 | 色综七七久久成人影 | 五月一区二区久久综合天堂 | 高清不卡免费一区二区三区 | 亚洲在线播放视频 | 欧美色视频超清在线观看 | 天天爱天天做久久天天狠狼 | 91在线视频免费91 | 99视频有精品视频免费观看 | 免费观看国产网址你懂的 | 欧美精品h在线播放 | 色综合久久综合欧美综合 | 日本无翼乌全彩无遮挡动漫 | 一级毛片成人免费看免费不卡 | 神马影院我不卡在线观看 | 99精品高清不卡在线观看 | 欧美高清一区 | 九九re6精品视频在线观看 | 五月天婷婷激情网 | 免费观看成人碰视频公开 | 一本色道久久爱88a 一本色道久久爱88av俺来也 | 久久精品国产一区二区三区 | 欧美日韩亚洲国产精品一区二区 | 亚洲视频免费一区 | 黄色香蕉视频网站 | 日本一区二区视频免费播放 | 奇米免费视频 | 亚洲精品久久一区二区无卡 | 99re这里只有精品国产精品 | 国产性大片黄在线观看在线放 | 国产欧美综合在线一区二区三区 | 亚洲视频一 | 九九精品在线视频 | 亚洲国产成人在线观看 | 97手机影院| 美女牲交视频一级毛片 | 国内精品伊人久久久影院 | 破处一级片 | 一道精品视频一区二区三区图片 | 天天射久久 | 日本一区二区三区四区公司 |