失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > MCV使用ExceptionFilter和log4net记录程序异常日志

MCV使用ExceptionFilter和log4net记录程序异常日志

时间:2018-12-22 04:28:54

相关推荐

MCV使用ExceptionFilter和log4net记录程序异常日志

添加日志接口

using log4net;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CZBK.ItcastOA.Log{public class Log{/// <summary>/// 日志实体类/// </summary>private ILog logger;/// <summary>/// 构造函数/// </summary>/// <param name="log">日志操作对象</param>public Log(ILog log){this.logger = log;}/// <summary>/// 调试日志/// </summary>/// <param name="message">消息</param>public void Debug(object message){this.logger.Debug(message);}/// <summary>/// 错误日志/// </summary>/// <param name="message">消息</param>public void Error(object message){this.logger.Error(message);}/// <summary>/// 信息日志/// </summary>/// <param name="message">消息</param>public void Info(object message){this.logger.Info(message);}/// <summary>/// 警告日志/// </summary>/// <param name="message">消息</param>public void Warn(object message){this.logger.Warn(message);}}}

添加日志工厂

using log4net;using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;namespace CZBK.ItcastOA.Log{public class LogFactory{/// <summary>/// 构造函数/// </summary>static LogFactory(){log4net.Config.XmlConfigurator.Configure();}/// <summary>/// 获取日志操作对象/// </summary>/// <param name="type">类型</param>/// <returns></returns>public static Log GetLogger(Type type){return new Log(LogManager.GetLogger(type));}/// <summary>/// 获取日志操作对象/// </summary>/// <param name="str">名字</param>/// <returns></returns>public static Log GetLogger(string str){return new Log(LogManager.GetLogger(str));}}}

添加log4net.config

<?xml version="1.0" encoding="utf-8" ?><log4net><!--根配置--><root><!--日志级别:可选值: ERROR > WARN > INFO > DEBUG --><level value="ERROR"/><level value="WARN"/><level value="INFO"/><level value="DEBUG"/><appender-ref ref="ErrorLog" /><appender-ref ref="WarnLog" /><appender-ref ref="InfoLog" /><appender-ref ref="DebugLog" /></root><!-- 错误 Error.log--><appender name="ErrorLog" type="log4net.Appender.RollingFileAppender"><!--目录路径,可以是相对路径或绝对路径--><param name="File" value="App_Data"/><!--文件名,按日期生成文件夹--><param name="DatePattern" value="/yyyy-MM-dd/&quot;Error.log&quot;"/><!--追加到文件--><appendToFile value="true"/><!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]--><rollingStyle value="Composite"/><!--写到一个文件--><staticLogFileName value="false"/><!--单个文件大小。单位:KB|MB|GB--><maximumFileSize value="200MB"/><!--最多保留的文件数,设为"-1"则不限--><maxSizeRollBackups value="-1"/><!--日志格式--><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%message"/></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="ERROR" /><param name="LevelMax" value="ERROR" /></filter></appender><!-- 警告 Warn.log--><appender name="WarnLog" type="log4net.Appender.RollingFileAppender"><!--目录路径,可以是相对路径或绝对路径--><param name="File" value="App_Data"/><!--文件名,按日期生成文件夹--><param name="DatePattern" value="/yyyy-MM-dd/&quot;Warn.log&quot;"/><!--追加到文件--><appendToFile value="true"/><!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]--><rollingStyle value="Composite"/><!--写到一个文件--><staticLogFileName value="false"/><!--单个文件大小。单位:KB|MB|GB--><maximumFileSize value="200MB"/><!--最多保留的文件数,设为"-1"则不限--><maxSizeRollBackups value="-1"/><!--日志格式--><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%message"/></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="WARN" /><param name="LevelMax" value="WARN" /></filter></appender><!-- 信息 Info.log--><appender name="InfoLog" type="log4net.Appender.RollingFileAppender"><!--目录路径,可以是相对路径或绝对路径--><param name="File" value="App_Data"/><!--文件名,按日期生成文件夹--><param name="DatePattern" value="/yyyy-MM-dd/&quot;Info.log&quot;"/><!--追加到文件--><appendToFile value="true"/><!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]--><rollingStyle value="Composite"/><!--写到一个文件--><staticLogFileName value="false"/><!--单个文件大小。单位:KB|MB|GB--><maximumFileSize value="200MB"/><!--最多保留的文件数,设为"-1"则不限--><maxSizeRollBackups value="-1"/><!--日志格式--><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%message"/></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="INFO" /><param name="LevelMax" value="INFO" /></filter></appender><!-- 调试 Debug.log--><appender name="DebugLog" type="log4net.Appender.RollingFileAppender"><!--目录路径,可以是相对路径或绝对路径--><param name="File" value="App_Data"/><!--文件名,按日期生成文件夹--><param name="DatePattern" value="/yyyy-MM-dd/&quot;Debug.log&quot;"/><!--追加到文件--><appendToFile value="true"/><!--创建日志文件的方式,可选值:Date[日期],文件大小[Size],混合[Composite]--><rollingStyle value="Composite"/><!--写到一个文件--><staticLogFileName value="false"/><!--单个文件大小。单位:KB|MB|GB--><maximumFileSize value="200MB"/><!--最多保留的文件数,设为"-1"则不限--><maxSizeRollBackups value="-1"/><!--日志格式--><layout type="log4net.Layout.PatternLayout"><conversionPattern value="%message"/></layout><filter type="log4net.Filter.LevelRangeFilter"><param name="LevelMin" value="DEBUG" /><param name="LevelMax" value="DEBUG" /></filter></appender></log4net>

修改Web.config

添加ExceptionFilter异常过滤器,捕获异常记录静态队列

在Global中Application_Start函数中开启线程,扫描异常队列调用日志工厂记录异常信息

如果觉得《MCV使用ExceptionFilter和log4net记录程序异常日志》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。