log4net是.Net下一個非常優秀的開源日誌記錄元件。log4net記錄日誌的功能非常強大。它可以將日誌分不同的等級,以不同的格式,輸出到不同的媒介。
日誌分類:
1,Info
2,Debug
3,Warn
4,Error
5,Fatal
儲存型別:
ADONetAppender 資料庫方式
SmtpAppender 發郵件
LogFileAppender 伺服器端日誌檔案
ColoredConsoleAppender 還沒用過
EventLogAppender windows日誌
NetSendAppender
RollingFile 還沒用過
先看效果:
檔案儲存
資料庫儲存
郵件儲存
本文主要是簡單的介紹怎麼使用:
第一步:新增引用
第二步:新增配置 ,在Web.config 檔案中進行新增configSections的節點 如下圖所示,
第三步:新增日誌配置型別及儲存型別,如果是資料庫儲存需要提前建好資料表,配置好資料庫連線字串,檔案儲存需要指定日誌檔案路徑和檔名,郵件傳送需要配置郵件協議,具體會在程式碼中有,
<log4net debug="true"> <!--<logger name="logerror"> <level value="ERROR" /> <appender-ref ref="ADONetAppender" /> </logger> <logger name="loginfo"> <level value="INFO" /> <appender-ref ref="InfoAppender" /> </logger>--> <logger name="Loggering"> <level value="Warn"/> <appender-ref ref="ADONetAppender"/> </logger> <root> <level value="info" /> <!--<appender-ref ref="ADONetAppender" />--> <appender-ref ref="ADONetAppender"/> <!--<appender-ref ref="LogFileAppender"/> <appender-ref ref="ColoredConsoleAppender"/> <appender-ref ref="EventLogAppender"/> <append-ref ref="NetSendAppender"/> <appender-ref ref="RollingFile"/>--> </root> <appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="C:\App_Log\ErrorLog.log" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaximumFileSize" value="1MB" /> <param name="RollingStyle" value="Size" /> <param name="StaticLogFileName" value="true" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%-5p %d [%c] %m%n" /> </layout> </appender> <appender name="InfoAppender" type="log4net.Appender.RollingFileAppender"> <param name="File" value="C:App_Log\InfoLog.log" /> <param name="AppendToFile" value="true" /> <param name="MaxSizeRollBackups" value="100" /> <param name="MaximumFileSize" value="1MB" /> <param name="RollingStyle" value="Size" /> <param name="StaticLogFileName" value="true" /> <layout type="log4net.Layout.PatternLayout"> <param name="ConversionPattern" value="%-5p %d [%c] %m%n" /> </layout> </appender> </log4net>
檔案路徑配置:
檔案路徑配置
郵件配置
資料庫配置
create table _log ( id int identity(1,1) primary key not null, date datetime null, thread int null, level varchar(10) null, logger varchar(20) null, Message varchar(100) null, Exception varchar(100) null )
資料庫日誌表指令碼
第四步:寫日誌
gloab.asax.cs檔案 中Application_Start()方法裡第一行加:
log4net.Config.XmlConfigurator.Configure();
再在要記錄的日誌檔案里加日誌記錄,如下所示
private static readonly log4net.ILog log = log4net.LogManager.GetLogger("Loggering"); string message = string.Format("錯誤訊息:{0},方法名:{1},引數:{2}", ex.Message, "JsonResult Login", Request.Params.ToString()); log.Debug(message); log.Error(message); log.Fatal(message); log.Warn(message); log.Info(message);