C#错误异常日志记录到文件
当我们将网站布署到线上之后,为了实时了解网站的运行情况,如是否有错误页面、网站运行速度、是否有攻击等。那么我们就很有必要为网站加上错误与异常记录到日志文件,这样就可以随时查看网站的线上运行情况,另有一个好处是当网站有运行错误页面时,根据错误日志我们可以快速到定位到错误行进行排查原因、解决问题,这个是对于运行在线上而不能调试的网站的一个非常有必要的功能。
具体实现方法:
在全局文件Global.asax.cs中添加Application_Error的方法。只要当程序有错误时程序就会自动执行该方法,从而记录到错误日志。
void Application_Error(object sender, EventArgs e)
{//在出现未处理的错误时运行的代码Exception ex = Server.GetLastError().GetBaseException();string errorTime = "异常时间:" + DateTime.Now.ToString(); string errorAddress = "异常地址:" + Request.Url.ToString(); string errorInfo = "异常信息:" + ex.Message; string errorSource = "错误源:" + ex.Source; string errorType = "运行类型:" + ex.GetType(); string errorFunction = "异常函数:" + ex.TargetSite; string errorTrace = "堆栈信息:" + ex.StackTrace; Server.ClearError(); System.IO.StreamWriter writer = null; try { lock (this) { //写入日志 string path = string.Empty; path = Server.MapPath("~/ErrorLogs/"); //不存在则创建错误日志文件夹 if (!Directory.Exists(path)) { Directory.CreateDirectory(path); } path +=string.Format(@"\{0}.txt", DateTime.Now.ToString("yyyy-MM-dd")); writer = !File.Exists(path) ? File.CreateText(path) : File.AppendText(path); //判断文件是否存在,如果不存在则创建,存在则添加 writer.WriteLine("用户IP:" + Request.UserHostAddress); writer.WriteLine(errorTime); writer.WriteLine(errorAddress); writer.WriteLine(errorInfo); writer.WriteLine(errorSource); writer.WriteLine(errorType); writer.WriteLine(errorFunction); writer.WriteLine(errorTrace); writer.WriteLine("********************************************************************************************"); } } finally { if (writer != null) { writer.Close(); } } Server.Transfer("~/500webpage.aspx"); //跳转到显示友好错误的页面 }
转载于:https://www.cnblogs.com/huntergu/p/8336899.html
C#错误异常日志记录到文件相关推荐
- Log4Net异常日志记录在asp.net mvc3.0的应用
前言 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是简单的介绍如何在Visual ...
- 从壹开始前后端分离 [.netCore 不定期更新 ] 三十五║ 完美实现全局异常日志记录...
缘起 哈喽我是不定期更新的日常,昨天群里小伙伴问到了记录日志,当然,以前我也挖过这个坑,后来一直没有来得及填上,也想着 swagger 一直又有错误信息展示的功能,就迟迟没有添加这个功能,不过昨天夜里 ...
- Spring AOP 实现业务和异常日志记录实战
1 业务需求:今日,公司要求对操作的业务和日志统一做处理,需要把业务表数据相关信息存入日志表中,比如表名,方法名,业务id,操作操作时间modifyTIme等等. 除了在业务主动插入日志数据之外,有个 ...
- python 修饰器_python中用修饰器进行异常日志记录
当脚本中需要进行的的相同的异常操作很多的时候,可以用修饰器来简化代码.比如我需要记录抛出的异常: 在log_exception.py文件中, import functools import loggi ...
- ASP.NET Web API 异常日志记录
如果在 ASP.NET MVC 应用程序中记录异常信息,我们只需要在 Global.asax 的 Application_Error 中添加代码就可以了,比如: public class MvcApp ...
- slf4j 记录日志文件_教程:正确的SLF4J日志记录用法以及如何检查它
slf4j 记录日志文件 SLF4J是一个非常流行的日志记录外观,但是,就像我们使用的所有库一样,我们有可能以错误的方式或至少以一种非最佳方式使用它. 在本教程中,我们将列出常见的日志记录错误以及如何 ...
- [转载]针对IIS7以上的ASP.NET网站自定义错误页面与异常日志总结
针对IIS7以上的ASP.NET网站自定义错误页面与异常日志总结 汪宇杰 2014-1-11 星期六 02:31 455 Reads 1 Comments 自定义错误页面和异常记录是个很古老的话题了, ...
- iOS日志记录和异常捕获
日志记录 iOS日志记录当前文件的堆栈.类名.函数名.行号及文件路径等信息 NSArray *array = [NSThread callStackSymbols]; NSLog(@"堆栈信 ...
- 如何使用SpringBoot AOP 记录操作日志、异常日志?
点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 作者:咫尺的梦想_w cnblogs.com/wm-dv/ ...
最新文章
- 安装、设置与启动MySql5.1.30绿色版的方法
- python转cython_Cython安装与使用入门
- JFinal整合Shiro(二)
- 单链表 操作的18种算法
- CSS清除浮动常用方法小结
- 库存管理-历史库存和收发存系列-俄罗斯库存报表J3RFLVMOBVED1
- 通达OA 新旧两种数据库连接方式
- UICollectionView reloadData后cell被隐藏
- hadoop fs 运维常用的几个命令
- 生意是怎么越做越累的?
- Luogu1904 天际线
- python按键退出循环_Python的for循环退出
- linux sdcc stc12c5a60s2,STC12C5A60S2单片机最小系统板20个参考例程分享
- 【Web技术】1352- 如何防止他人恶意调试你的web程序
- sublimetext的文件编码理解reopen/reload with encoding,set encoding,save with encoding, set file encoding to
- 2020.8.13 京东Android开发二面
- 精心打造中国第一个商用3G网络
- 企鹅号15种赚钱方法?企鹅如何快速收益?
- 收藏本站与设为首页javascript代码
- 字符串编辑距离之Damerau–Levenshtein Distance
热门文章
- Manifold learning-based methods for analyzing single-cell RNA-sequencing data
- 微信小程序模板消息群发解决思路
- 【C++对象模型】第一章 关于对象
- 博客园山寨版(asp.net mvc 开源)
- org.springframework.dao.InvalidDataAccessApiUsageException
- C#面试题 之 判断质数
- DataTemplate和ControlTemplate的关系
- 为WebBrowser的WEB页的Document注册事件的问题
- hive之分区表详解
- 计算机快捷键m是什么,教程方法;m、ac快捷键电脑技巧-琪琪词资源网