Log4Net简单使用
一、?Log4net是什么、優(yōu)點
用來記錄程序日志,優(yōu)點:1.提供應(yīng)用程序運行時的精確環(huán)境,可供開發(fā)人員盡快找到應(yīng)用程序中的Bug;2.日志信息可以輸出到不同的地方(數(shù)據(jù)庫,文件,郵箱等)。
二、?Log4net的結(jié)構(gòu)
log4net?有四種主要的組件,分別是Logger(記錄器), Repository(庫), Appender(附著器)以及?Layout(布局).
二、?Log4net的結(jié)構(gòu)
第一步:首先下載log4net.dll并在項目中引用log4net.dll文件。
第二步:在Web.config文件中進行添加configSections的節(jié)點
<configSections><!--log4net配置--><section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" /></configSections>第三步:添加log4net配置節(jié)點
<!--log4net日志配置--><log4net><logger name="logerror"><level value="ERROR" /><appender-ref ref="ErrorAppender" /></logger><logger name="loginfo"><level value="INFO" /><appender-ref ref="InfoAppender" /></logger><!--<logger name="logdebug"><level value="DEBUG"><appender-ref ref="DebugAppender" /></level></logger>--><appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender"><param name="File" value="C:\ErrorLog.txt" /><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:\InfoLog.txt" /><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="DebugAppender" type="log4net.Appender.RollingFileAppender"><param name="File" value="C:\DebugLog.txt" /><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> webconfig Code第四步:添加日記類logHelper
/// <summary>/// 使用LOG4NET記錄日志的功能,在WEB.CONFIG里要配置相應(yīng)的節(jié)點/// </summary>public class LogHelper{//log4net日志專用public static readonly log4net.ILog loginfo = log4net.LogManager.GetLogger("loginfo");public static readonly log4net.ILog logerror = log4net.LogManager.GetLogger("logerror");public static void SetConfig(){log4net.Config.XmlConfigurator.Configure();}public static void SetConfig(FileInfo configFile){log4net.Config.XmlConfigurator.Configure(configFile);}/// <summary>/// 普通的文件記錄日志/// </summary>/// <param name="info"></param>public static void WriteLog(string info){if (loginfo.IsInfoEnabled){loginfo.Info(info);}}/// <summary>/// 錯誤日志/// </summary>/// <param name="info"></param>/// <param name="se"></param>public static void WriteLog(string info, Exception se){if (logerror.IsErrorEnabled){logerror.Error(info, se);}} LogHelper類 Code第五步:添加Global.cs配置
void Application_Start(object sender, EventArgs e) {//在應(yīng)用程序啟動時運行的代碼 //初始日志的配置 LogHelper.SetConfig(); } Global Code void Application_Error(object sender, EventArgs e){// 在出現(xiàn)未處理的錯誤時運行的代碼 Exception ex = HttpContext.Current.Server.GetLastError(); Base_Teacher teacher = Session[UCSKey.SESSION_LoginInfo] as Base_Teacher;if (teacher != null){//記錄錯誤日志// LogHelper.WriteErrorLog("\r\n用戶ID:" + teacher.YHZH + "\r\n用戶名:" + teacher.XM + "\r\n客戶機IP:" + Request.UserHostAddress + "\r\n錯誤地址:" + Request.Url + "\r\n異常信息:" + Server.GetLastError().Message, ex);//記錄普通日志LogHelper.WriteInfoLog("\r\n用戶ID:" + teacher.YHZH + "\r\n用戶名:" + teacher.XM + "\r\n客戶機IP:" + Request.UserHostAddress + "\r\n錯誤地址:" + Request.Url + "\r\n錯誤時間:" + DateTime.Now);//記錄debug日志// LogHelper.WriteDebugLog("\r\n用戶ID:" + teacher.YHZH + "\r\n用戶名:" + teacher.XM + "\r\n客戶機IP:" + Request.UserHostAddress + "\r\n錯誤地址:" + Request.Url + "\r\n異常信息:" + Server.GetLastError().Message, ex); }} Global Code第六步:頁面中使用
在try catch的catch中調(diào)用 loghelper類即可。
?
總結(jié):
1.webconfig配置要靈活
2.不斷調(diào)試、多點耐心
?
?
tks:
代碼參考:http://www.cnblogs.com/ringwang/archive/2012/07/06/2579775.html
保存郵箱是、數(shù)據(jù)庫:http://www.poluoluo.com/jzxy/201311/249970.html
?
轉(zhuǎn)載于:https://www.cnblogs.com/lei2007/p/3725078.html
總結(jié)
以上是生活随笔為你收集整理的Log4Net简单使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 关于iframe的contentDocu
- 下一篇: IBM DS4800控制器更换和电池误告
