博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
初识IO流——IO流实战之记录错误日志
阅读量:6585 次
发布时间:2019-06-24

本文共 2004 字,大约阅读时间需要 6 分钟。

  在web项目中经常会遇到各种各样的异常,除了调试之外,我们还可以通过文本来记录异常。这样也可以迅速找出异常所在。

  

  下面写一个小测试。页面加载的时候在Page_Load()方法中给出一个异常,捕获到异常后就调用我们写好的方法来将异常写入文本文件中。

 

  具体实现:

1 protected void Page_Load(object sender, EventArgs e) 2         { 3  4             string test_str = "I see you !"; 5  6             try 7             { 8  9                 Int32 test_num = Convert.ToInt32(test_str);10 11             }12             catch (Exception ex)13             {14 15                 getErrorMessage(ex.ToString());16 17             }18         }19 20 21 22 23 24         public static void getErrorMessage(string errorMessage)25         {26             try27             {28                 /*相对路径(文件相对于项目)*/29                 string outfile = "/Error/" + "Error-" + DateTime.Today.ToString("yyyy-MM-dd") + ".txt";30 31                 /*获取项目的根目录并和outfile组合成文件的完整路径*/32                 string path = AppDomain.CurrentDomain.BaseDirectory + outfile;33 34                 /*判断文件是否存在,如果不存在则创建*/35                 if (!File.Exists(path))36                 {37                     File.Create(path).Close();38                 }39                 using (StreamWriter writer = File.AppendText(path))40                 {41                     /*写入自定义的数据和获取到的异常信息*/42                     writer.WriteLine("ErrorMessage: ");43                     writer.WriteLine("Time: {0}", DateTime.Now.ToString("yyyy/MM/dd  hh:mm:ss"));44                     writer.WriteLine("Url: {0}", System.Web.HttpContext.Current.Request.Url.ToString());45                     writer.WriteLine("Detial: {0}", errorMessage);46                     writer.WriteLine("————————————————————————————————————————————————————————————————————");47                 }48             }49             catch (Exception ex)50             {51                 getErrorMessage(ex.ToString());52             }53         }

  这样我们就可以在项目的Error目录找到我们的日志文件,并可以通过日志文件迅速的找到异常所在。下面是实现的日志截图:

  

 

 

 

  在具体的项目中,可以写一个工具类来实现该方法,代码变得简洁的同时也可以让整个系统的架构更清晰。

转载于:https://www.cnblogs.com/SunshineAgain/p/5699283.html

你可能感兴趣的文章
(面试必知)必知必会的冒泡排序和快速排序
查看>>
图解iPhone开发新手教程
查看>>
ext2磁盘布局
查看>>
23种设计模式(3):抽象工厂模式
查看>>
【Android】自己定义控件——仿天猫Indicator
查看>>
yii CComponent组件 实例说明1
查看>>
安装oracle11g未找到文件WFMLRSVCApp.ear文件
查看>>
RSA算法
查看>>
【BZOJ】3396: [Usaco2009 Jan]Total flow 水流 (最大流)
查看>>
Sequence.js 实现带有视差滚动特效的图片滑块
查看>>
你必须要找到你所爱的东西
查看>>
Eclipse启动Tomcat时,45秒超时解决方案
查看>>
可变參数
查看>>
Java 注释说明
查看>>
LeetCode——Remove Nth Node From End of List
查看>>
[詹兴致矩阵论习题参考解答]习题1.11
查看>>
ubuntu jdk 1.7 安装
查看>>
搜索 + 剪枝 --- POJ 1101 : Sticks
查看>>
向着DJANGO奔跑!
查看>>
再探.NET的PE文件结构(安全篇)
查看>>