天天看點

Log4net——Appenders 檔案日志

(一)檔案日志

(1)寫日志到檔案

把日志儲存到D盤的myLog檔案夾中的x.log檔案中

這裡,要儲存的資訊為:

格式:為年-月-日 時:分:秒 –資訊(每條一行)

<appender xmlns="" name="apenderforLog" type="log4net.Appender.FileAppender">

    <file value="D:myLogs\x.log"/>

    <layout type="log4net.Layout.PatternLayout">

      <conversionPattern value="%date{yyyy-MM-dd HH:mm:ss} - %message %newline" />

    </layout>

  </appender>

測試如下:

mylog.Info("開始記錄日志……");

mylog.Error("使用者多次登入不成功!");

mylog.Info("日志追加結束.");

結果:

2009-12-10 15:33:04 - 開始記錄日志……

2009-12-10 15:33:04 - 使用者多次登入不成功!

2009-12-10 15:33:05 - 日志追加結束.

提示:這裡說明一下,兩個轉換器的作用

·date 發生日志事件的本地時間。date後面還可以跟一個日期格式,用大括号括起來。

例如:%date{HH:mm:ss,fff}預設将使用ISO8601 格式。

·message由應用程式提供給日志事件的消息,簡寫格式為:m

(2)日志追加并發控制

 用于多程序同時寫入日志檔案(這個沒有測試過)

    <appendToFile value="true" />

    <lockingModel type="log4net.Appender.FileAppender+MinimalLock" />

lockingModel有兩個枚舉。

(二)日志的檔案名自動生成

這裡的輸出源要用到 RollingFileAppender

RollingFile輸出源類型枚舉有:

Once:一個檔案(不确定)

Size:按檔案容量格式生成

Date:按日期定義格式生成

Composite:混合檔案容量與系統日期

(1)日期規則

檔案名:年-月-日.log

配置檔案如下:

<appender xmlns="" name="apenderforLog" type="log4net.Appender.RollingFileAppender">

    <file value="D:myLogs\" />

    <rollingStyle value="Date" />

    <datePattern value="yyyy-MM-dd&quot;.log&quot;" />

    <staticLogFileName value="false" />

提示:

·&quot;起到的作用是轉義,就是把.log當作字面義,而不是時間日期的格式定義。(雙引号)

·預設檔案寫入方式為追加,這裡顯示聲明了

·RollingStyle也不知道這個怎麼翻譯,但意思大家都明白

·日期變化格式為yyyy-MM-dd.log(檔案名)

·關閉固定檔案名即staticLogFileName value設定為false

(2)Size(容量規則)

    <file value="D:myLogs\log.txt" />

    <rollingStyle value="Size" />

    <maxSizeRollBackups value="2" />

    <maximumFileSize value="2KB" />

    <staticLogFileName value="true" />

·rolling類型為檔案容量

·設定檔案最大值:maximumFIleSize為2K,如果超過這個大小如何處理?這個由Backups來處理

·maxSizeRollBackups 用于處理備份檔案。表示備份檔案的檔案最大數目。如果設定為0,表示不備份日志檔案,而且當日志檔案容量滿了之後,将會截斷以前的日志資訊;如果是自然數,那麼當日志備份檔案數目滿了之後,會删除以前的日志檔案備份;如果是負整數,那麼将會無限制的增加日志備份檔案。

<maxSizeRollBackups value="2" />

<maxSizeRollBackups value="0" />

<maxSizeRollBackups value="-1" />

(3)Composite混合型

    <file value="D:myLogs\x.log" />

    <rollingStyle value="Composite" />

    <datePattern value="yyyyMMdd" />

    <maxSizeRollBackups value="4" />

部落格園大道至簡

http://www.cnblogs.com/jams742003/

轉載請注明:部落格園