在 C# 控制台中记录异常日志并输出
2015-05-19 16:20
337 查看
最近做了一个小程序,要求在控制台中记录程序运行的异常并输出到指定的文件夹中,以下是我的具体的程序代码:
使用这个异常日志记录方法 ,在程序可能出现异常的地方用 try ... catch 块来包装, 并在 catch 块中 调用这个异常的方法,将异常日志记录下来, 在使用 TextWrite 对象时,在最后一定要记得手动关闭, 否则会造成意想不到的错误,特别是内存泄露。
异常记录的效果如下:
public static void ErrorLog(Exception ex) { string FilePath = "/ErrorLog.txt"; StringBuilder msg = new StringBuilder (); msg.Append("*************************************** \n"); msg.AppendFormat(" 异常发生时间: {0} \n",DateTime.Now); msg.AppendFormat(" 异常类型: {0} \n",ex.HResult); msg.AppendFormat(" 导致当前异常的 Exception 实例: {0} \n",ex.InnerException); msg.AppendFormat(" 导致异常的应用程序或对象的名称: {0} \n",ex.Source); msg.AppendFormat(" 引发异常的方法: {0} \n",ex.TargetSite); msg.AppendFormat(" 异常堆栈信息: {0} \n",ex.StackTrace); msg.AppendFormat(" 异常消息: {0} \n",ex.Message); msg.Append("***************************************"); try { if (File.Exists(FilePath)) { using (StreamWriter tw = File.AppendText(FilePath)) { tw.WriteLine(msg.ToString()); } } else { TextWriter tw = new StreamWriter(FilePath); tw.WriteLine(msg.ToString()); tw.Flush(); tw.Close(); tw = null; } } catch (Exception) { Console.ReadKey(); } }
使用这个异常日志记录方法 ,在程序可能出现异常的地方用 try ... catch 块来包装, 并在 catch 块中 调用这个异常的方法,将异常日志记录下来, 在使用 TextWrite 对象时,在最后一定要记得手动关闭, 否则会造成意想不到的错误,特别是内存泄露。
异常记录的效果如下:
相关文章推荐
- Spring-Boot--日志操作全局异常捕获消息处理☞日志控制台输出+日志文件记录
- Spring-Boot--日志操作【全局异常捕获消息处理☞日志控制台输出+日志文件记录】
- 两步实现Log4j记录java控制台输出的系统所有异常信息和自定义记录日志---->非常实用,强烈推荐阅读
- Spring-Boot--日志操作【全局异常捕获消息处理☞日志控制台输出+日志文件记录】
- 从零开始编写自己的C#框架(20)——框架异常处理及日志记录
- dao层用Hibernate 查询 返回null无值、并且控制台没有输出SQL日志,也没有报任何异常
- Spring MVC自定义统一异常处理类,并且在控制台中输出错误日志
- struts异常不捕获也可以在控制台和日志文件输出
- Spring MVC自定义统一异常处理类,并且在控制台中输出错误日志
- cmd或eclipse的控制台输出日志logger乱码问题记录
- Spring MVC自定义统一异常处理类,并且在控制台中输出错误日志
- C#中实现日志记录输出
- c#判断应用程序是否正常运行以及输出异常关闭日志
- C#错误异常日志记录到文件
- Log4j中将控制台出现的异常信息完整的记录到日志文件
- C# WinForm 控制台日志输出
- 【ThinkingInJava】25、将异常输出记录到日志
- C#输出日志记录
- Log4Net异常日志记录在asp.net mvc3.0的应用