標籤:轉義 att 方法 解決 記錄 let csharp 管理 pre
讓log4net記錄檔自動按月份存放
log4net記錄檔的作用還真不小,可以儲存管理員、使用者對資料庫的任何操作,儲存管理員和使用者的登入記錄,分析系統運行錯誤,所以不捨得隨便將記錄檔Delete。如果時間長了,記錄檔夾一定會有很多很多記錄檔,不便於管理員查看。
所以讓log4net記錄檔自動按月份存放是必須的,其實方法很Easy,額是突發奇想在DatePattern value中增加“yyyyMM\\”,運行後果然如額所願。
也就是修改Web.Config檔案如下:
<file value="Log\\"/><!--記錄檔夾及檔案名稱開頭-->
<DatePattern value="yyyyMM\\yyyy-MM-dd".log""/><!--檔案名稱後面加上.log尾碼,必須使用逸出字元-->
<appender name="LogsServiceFileAppender" type="log4net.Appender.RollingFileAppender,log4net"><param name="File" value="\Logs\"/><param name="AppendToFile" value="true"/><param name="MaxSizeRollBackups" value="1"/><param name="StaticLogFileName" value="false"/><param name="DatePattern" value="yyyyMMdd".log""/><param name="RollingStyle" value="Date"/><layout type="log4net.Layout.PatternLayout"><param name="ConversionPattern" value="%n記錄時間:%d [%t] %n記錄層級:%-5p %n日誌內容:%c - %m%n"/></layout></appender>
解決log4net獨佔記錄檔的問題
由於log4net預設情況下會獨佔記錄檔該檔案不能被File.Open,否則會出現異常錯誤,甚為鬱悶。網上找到的解決方案:
修改Web.Config檔案,在
<appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"></appender>
節中加入:
<lockingModel type="log4net.Appender.FileAppender+MinimalLock" />
就可以了,即使用最小鎖定模型(minimal locking model),以允許多個進程可以寫入同一個檔案
本文引用 http://guojun2sq.blog.163.com/blog/static/6433086120111925936159/
Log4net記錄檔自動按月份存放和日誌獨佔問題的解決