log4net 小记
突然想到想測試一下log4net,結果折騰了兩天,才弄出來.....記錄下來以備以后查看
背景:vs2013 mvc項目中想體驗下log4net的功能(主要是文件記錄)
翻看了log4net的相關資料,才發現其實它是有很多功能的,可以把日志記錄到一個文本,或是按日期,大小分多個文本記錄,還可以記錄到數據庫,輸出到控制臺.....等等,這些內容有很多,就不說了,主要說要我自己的碰到的坑。
這里有詳細的直接在mvc 項目文件中集成使用log4net的介紹,我是覺得好麻煩啊,和以前在vs2010 上弄的完全麻煩多了(這里沒有考慮把log4net 和 Common.logging 一起使用,一起使用時配置就不用那么麻煩了)
我主要是要提出來作為一個模塊來配置,新建一個類庫,在NuGet里面引用log4net
新建一個LogHelper 類
1 public class LogHelper 2 { 3 4 public static void WriteLog(Type t, Exception ex) 5 { 6 log4net.ILog logger = log4net.LogManager.GetLogger(t); 7 logger.Error("Error", ex); 8 } 9 10 11 public static void WriteLog(Type t, string msg) 12 { 13 log4net.ILog log = log4net.LogManager.GetLogger(t); 14 log.Error(msg); 15 log.Debug(msg); 16 log.Info(msg); 17 log.Warn(msg); 18 } 19 } View Codemvc項目 引用該類庫,然后添加log4net的配置。
配置可以分開來寫,web.config里面一部分和自定義的xxx.config文件一部分;也可以一起全部寫在web.config里面
不管怎么寫配置文件,web.config里面的<configSections>節點里面一定要添加log4net,這里展示的是把<log4net>節點寫在web.config里面
<log4net><!--錯誤日志配置--><appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"><param name="File" value="D:\\xxxx\\LogError\\" /><param name="AppendToFile" value="true" /><param name="MaxSizeRollBackups" value="-1" /><param name="MaxFileSize" value="10240" /><param name="StaticLogFileName" value="false" /><param name="DatePattern" value="yyyy-MM-dd.'log'" /><param name="RollingStyle" value="Date" /><param name="BufferSize" value="1" /><layout type="log4net.Layout.PatternLayout"><param name="ConversionPattern" value="%n異常時間:%d [%t] %n異常級別:%-5p %n異 常 類:%c [%x] %n%m %n " /></layout></appender><!--信息日志配置--><appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"><param name="File" value="D:\\xxxx\\Log\\LogInfo\\" /><param name="AppendToFile" value="true" /><param name="MaxFileSize" value="10240" /><param name="MaxSizeRollBackups" value="-1" /><param name="StaticLogFileName" value="false" /><param name="DatePattern" value="yyyy-MM-dd.'log'" /><param name="RollingStyle" value="Date" /><param name="BufferSize" value="100" /><layout type="log4net.Layout.PatternLayout"><param name="ConversionPattern" value="%n日志時間:%d [%t] %n日志級別:%-5p %n日 志 類:%c [%x] %n%m %n" /></layout></appender> </log4net>?
還可以單獨把<log4net>節點里的內容提取出來放到自定義的xxx.config 文件中
光這樣還是不行的,有個注意的地方
?
轉載于:https://www.cnblogs.com/JsonYang/p/4522460.html
總結
以上是生活随笔為你收集整理的log4net 小记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C#使用HTML文件中的file文件上传
- 下一篇: 初探数位DP-hdu2089