当前位置: 首页 > news >正文

深圳市住房和建设局网站住房哈尔滨制作网页公司

深圳市住房和建设局网站住房,哈尔滨制作网页公司,网站建设项目报价,建筑工程网求职log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级#xff0c;以不同的格式#xff0c;输出到不同的媒介。 在NuGet程序包中下载log4Net组件#xff0c;如下图所示#xff1a; 打开Web.config文件#xff0c;在以不同的格式输出到不同的媒介。 在NuGet程序包中下载log4Net组件如下图所示  打开Web.config文件在configSections中添加如下配置节点 configSectionssection namelog4net typelog4net.Config.Log4NetConfigurationSectionHandler, log4net//configSections 紧靠上图节点添加如下配置节点 !--log4Net的另一种配置动态配置--log4net!-- OFF, FATAL, ERROR, WARN, INFO, DEBUG, ALL --!-- Set root logger level to ERROR and its appenders --rootlevel valueALL/appender-ref refSysAppender//root!-- Print only messages of level DEBUG or above in the packages --logger nameWebLogger!--这里进一步限制了日志级别只有在大于等于DEBUG的情况下才会记录日志--level valueDEBUG//loggerappender nameSysAppender typelog4net.Appender.RollingFileAppender,log4net !--日志放在项目的App_Data文件夹--param nameFile valueApp_Data/ /!--日志以追加形式记录--param nameAppendToFile valuetrue /!--日期作为回滚日期排序--param nameRollingStyle valueDate /!--设置日志文件名称的生成规则 --param nameDatePattern valuequot;Logs_quot;yyyyMMddquot;.txtquot; /!--日志文件是否静态否--param nameStaticLogFileName valuefalse /!--日志格式的内容和布局--layout typelog4net.Layout.PatternLayout,log4netparam nameConversionPattern value%d [%t] %-5p %c - %m%n /param nameHeader value#13;#10;----------------------header--------------------------#13;#10; /param nameFooter value#13;#10;----------------------footer--------------------------#13;#10; //layout/appenderappender nameconsoleApp typelog4net.Appender.ConsoleAppender,log4netlayout typelog4net.Layout.PatternLayout,log4netparam nameConversionPattern value%d [%t] %-5p %c - %m%n //layout/appender/log4net!--Log4Net配置结束-- 注意 configSections 必须是 configuration元素下第一个子元素并且是唯一的。不然会报错报错界面如下所示 在Global.asax.cs文件中的Application_Start方法中插入如下代码  log4net.Config.XmlConfigurator.Configure(); 考虑到记录日志会存在并发的问题这里通过队列的方式来记录日志把所有产生的日志信息存放到一个队列里然后通过新建一个线程不断的从这个队列里读取异常信息然后往日志里写这也就是所谓的生产者--消费者模式。  新建一个类MyErrorAttribute 继承自全局异常类HandleErrorAttribute,如下图所示 public class MyErrorAttribute:HandleErrorAttribute{public static QueueException ExceptionQueue new QueueException();public override void OnException(ExceptionContext filterContext){ExceptionQueue.Enqueue(filterContext.Exception);base.OnException(filterContext);}} 在FilterConfig类中替换成 上图 自定义的 类 public static void RegisterGlobalFilters(GlobalFilterCollection filters){//filters.Add(new HandleErrorAttribute());//注释掉系统默认的filters.Add(new MyErrorAttribute());} 在Global.asax.cs文件中的Application_Start方法中再插入如下代码 ThreadPool.QueueUserWorkItem(o {while (true){if (MyErrorAttribute.ExceptionQueue.Count 0){Exception ex MyErrorAttribute.ExceptionQueue.Dequeue();if (ex ! null){log4net.ILog logger log4net.LogManager.GetLogger(testError);logger.Error(ex.ToString());//将异常写入log4net}else{Thread.Sleep(50);}}else{Thread.Sleep(50);}}}); 此时 Global.asax.cs文件中的Application_Start方法已经变成如下图所示的样子了 protected void Application_Start(){log4net.Config.XmlConfigurator.Configure();AreaRegistration.RegisterAllAreas();FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);BundleConfig.RegisterBundles(BundleTable.Bundles);ThreadPool.QueueUserWorkItem(o {while (true){if (MyErrorAttribute.ExceptionQueue.Count 0){Exception ex MyErrorAttribute.ExceptionQueue.Dequeue();if (ex ! null){log4net.ILog logger log4net.LogManager.GetLogger(testError);logger.Error(ex.ToString());//将异常写入log4net}else{Thread.Sleep(50);}}else{Thread.Sleep(50);}}});} 接下去开始测试在控制器中添加一段引发异常的代码如下图所示  public ActionResult About(){int result 0;int x 1, y 0;result x / y; //引发异常ViewBag.Message Your application description page.;return View();} 运行系统跳转到error界面如下图所示 打开App_Data文件查看日志文件如下所示  至此为止一个利用Log4Net记录系统异常的功能开发完成了。
http://www.zqtcl.cn/news/308287/

相关文章:

  • 青岛网站建设 大公司制作相册视频
  • 什么是网站的域名jquery素材网站
  • 课程网站建设ppt模板百度seo推广
  • 网站建设需要用到什么怎么在电脑上用手机app软件
  • 公司做网站有意义么网站认证必须做么
  • 网站虚拟空间更新缓存php外贸网站建设
  • 河南省建设执业资格注册中心网站门户定制网站建设公司
  • 网站开发比较厉害wordpress中文 插件
  • 文化投资的微网站怎么做个人微信公众号如何推广
  • 单位的网站怎样设计才美观网页设计图片的代码
  • 长沙专业做网站排名济南手机网站定制费用
  • 西安专题门户响应式网站建设系统网站有哪些
  • 山东省建设局网站监理员考试asp.net mvc6电商网站开发实践
  • 做网站需要提供什么资料网站备案是什么意思
  • 河南网站建设及推广东莞百度代做网站联系方式
  • 大型企业网站制作浦东新区做网站
  • 简单大气网站源码织梦怎么用框架实现在浏览器的地址栏只显示网站的域名而不显示出文件名
  • 电子商务型网站建设线上推广营销策划
  • 网站建设管理工作情况的通报网站开发vs设计报告
  • 嘉定网站网站建设公司官网制作
  • 做旅游广告在哪个网站做效果好财经网站建设
  • 网站样式下载网站地图定位用什么技术做
  • 自己做网站怎么做的百中搜优化软件
  • 南宁建站平台与网站建设相关的论文题目
  • 足球网站建设意义做股权众筹的网站
  • 北京网站建设设计一流的锦州网站建设
  • 专业手机移动网站建设什么网站可以做期刊封面
  • cms建站系统哪个好网站建设 柳州
  • 安徽省住房与城乡建设部网站八戒电影在线观看免费7
  • 江苏省建设考试网站准考证打印佛山网站建设锐艺a068