初识IO流——IO流实战之记录错误日志

  在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             try
27             {
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目录找到我们的日志文件,并可以通过日志文件迅速的找到异常所在。下面是实现的日志截图:

  

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

时间: 2024-10-05 12:02:51

初识IO流——IO流实战之记录错误日志的相关文章

asp.net MVC自定义错误页,并记录错误日志

只需要在Global.asax文件中添加以下代码,则可以在出错后友好的展示错误页,也不需要在很多地方写记录错误日志的代码 protected void Application_Error(object sender, EventArgs e) { if (HttpContext.Current.IsCustomErrorEnabled) { return; } var exception = Server.GetLastError(); var httpException = new HttpE

记录错误日志的技巧

如果错误日志量很大,将错误日志分别记录在不同时间生成的文件里面,比如 日期格式比如:date('Y-m-dH-i-s'); /*/*/logs/*/*/2014-06-2412:20:202007_sign_error.log 正则匹配的原理: 一个字符一个字符的匹配. 习惯性思维是两个字符一块考虑,比如小时数13:12:11中的13 区间正则匹配正确的用法是[1-9] 错误的用法是[11-99],数字只能匹配一位数字 测试例子如下: 结果如下: 记录错误日志的技巧

ASP.NET记录错误日志的方式

程序记录错误日志是一种看起来对一般用户没什么作用,但对程序开发者用处很大的东西,它能查出错误或异常的程序马迹.那么,常用的记录错误日志的方式有哪些呢? 大多数情况下使用的是 1.直接记录为txt/xml文件 2.Windows Event Log 其他记录错误日志的方式 1.当前进程的本地队列 没有简单高效的持久化机制实现,单次调用效率会降低 2.MSMQ (1).非进程内消息队列,单次调用速度上,没有进程内部本地队列速度快 (2).内建持久化机制,即便down机,信息也不会丢失 (3).能简单

ASP.NET MVC中Log4Net记录错误日志的使用

第一.在管理NuGet程序包 =>下载 Log4Net 第二.在web.config配置Log4Net 1:在<configuration>节点下 <configSections>节点中 配置log4Net节点引用. <!--log4net日志记录--> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net

点滴积累【C#】---使用log4net组件记录错误日志(以文本形式记录)

效果: 描述: 利用log4net组件进行错误日志的记录,log4net记录错误的方式我所了解的有4种,No.1 文本形式记录日志,No.2存储到数据库形式记录日志,No.3控制台控制显示日志,No.4Windows事件日志.本文所采用的是第一种形式------文本形式记录日志. 首先,引用log4net.dll文件,然后创建一个config文件,进行配置日志的相关信息,比如:配置路径,以及错误的显示形式等.然后创建一个Global.asax应用程序文件,用于第一次访问时执行配置文件.然后创建一

asp.net mvc中加入log4net记录错误日志

首先添加加log4net的dll,推荐用nuget.... 贴上配置文件 <?xml version="1.0" encoding="utf-8" ?> <configuration> <configSections> <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4Net&q

C# 记录错误日志

程序的错误日志如何记录下来? 可以在遇到异常时,Catch异常,然后把异常的信息输出到txt文件中即可 /// <summary> /// 错误日志 /// </summary> public class LogHelper { private static object lockFlag = new object(); private static string LOG_FILE_PATH = AppDomain.CurrentDomain.BaseDirectory + &qu

ASP.NET记录错误日志

在本文中,我们将通过一个简单的处理来记录在我们的网站中的错误和异常.我们这样操作,每当遇到程序错误时,将使用者导航到一个单独的页面,同时错误将被记录到服务器上的一个文本文件,每当错误发生时,我们将以日志的形式每天记录. 首先,我先写一个静态方法用于将错误信息记录到文本文件,这里是将错误信息记录到服务器上的Error文件夹下,代码如下: using System.Globalization; /// <summary> /// 用于将错误信息输出到txt文件 /// </summary&g

记录C#错误日志工具

在编程过程中,我们经常会用try...catch处理可能出错的代码块.如果程序出现错误,则直接show出错误信息. 当然,大型的系统都有错误日志处理模块,用数据库记录错误日志信息,有相应的写入错误日志和读取操作日志的功能,功能强大,实现起来肯定也是相当的复杂. 可有时我们只是想方便的查看错误日志信息,但又不想带来复杂的代码实现.鱼和熊掌都想要?好吧,我来满足你. 1.我们需要把项目的目标框架设置为.Net Framework 4.0: 2.找到项目的代码生成路径,比如我的是bin\Debug\,