编写软件,难免会有一些异常,针对异常我们在实际的开发中相比都有一些,捕获异常的处理办法。把软件运行错误信息写成一个

错误日志文件很有必要。当我们在客户那边安装调试时就会更加快捷的,知道错误在哪里。否则你怎么知道软件运行哪里不正常,难道

还要在客户机器上装个开发环境调试一番吗?日志处理类,简单几行代码的事,不要手懒!

  public class WriteLog
2 {
3 /// <summary>
4 /// 创建日志文件
5 /// </summary>
6 /// <param name="ex">异常类</param>
7 public static void CreateLog(Exception ex)
8 {
9 string path = Application.StartupPath+"\\log";
10 if (!Directory.Exists(path))
11 {
12 //创建日志文件夹
13 Directory.CreateDirectory(path);
14 }
15 //发生异常每天都创建一个单独的日子文件[*.log],每天的错误信息都在这一个文件里。方便查找
16 path += "\\"+DateTime.Now.ToShortDateString() + ".log";
17 WriteLogInfo(ex, path);
18 }
19 /// <summary>
20 /// 写日志信息
21 /// </summary>
22 /// <param name="ex">异常类</param>
23 /// <param name="path">日志文件存放路径</param>
24 private static void WriteLogInfo(Exception ex, string path)
25 {
26 using (StreamWriter sw = new StreamWriter(path, true, Encoding.Default))
27 {
28 sw.WriteLine("*****************************************【"
+ DateTime.Now.ToLongTimeString()
+ "】*****************************************");
29 if (ex != null)
30 {
31 sw.WriteLine("【ErrorType】" + ex.GetType());
32 sw.WriteLine("【TargetSite】" + ex.TargetSite);
33 sw.WriteLine("【Message】" + ex.Message);
34 sw.WriteLine("【Source】" + ex.Source);
35 sw.WriteLine("【StackTrace】" + ex.StackTrace);
36 }
37 else
38 {
39 sw.WriteLine("Exception is NULL");
40 }
41 sw.WriteLine();
42 }
43 }
44 }
复制代码

C# 系统错误日志处理类的更多相关文章

  1. Log4J日志管理类使用详解 (转)

    一.前言: log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包.由于log4j出色的表现, 当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代j ...

  2. android开发必备日志打印工具类

    今天给大家献上一款好用的日志打印工具.大家在平时的开发中用的最多的可能就是Log.i("",""),Log.e("","" ...

  3. Android开发调试日志工具类[支持保存到SD卡]

    直接上代码: package com.example.callstatus; import java.io.File; import java.io.FileWriter; import java.i ...

  4. logger日志工具类

    日志工厂类 package cn.itcast.utils; import java.util.logging.FileHandler; import java.util.logging.Handle ...

  5. Java 基于log4j的日志工具类

    对log4j日志类进行了简单封装,使用该封装类的优势在于以下两点: 1.不必在每个类中去创建对象,直接类名 + 方法即可 2.可以很方便的打印出堆栈信息 package com.tradeplatfo ...

  6. Qt编写调试日志输出类带网络转发(开源)

    用qt开发商业程序已经九年了,陆陆续续开发过至少几十个程序,除了一些算不算项目的小工具外,大部分的程序都需要有个日志的输出功能,希望可以将程序的运行状态存储到文本文件或者数据库或者做其他处理等,qt对 ...

  7. python 以单例模式封装logging相关api实现日志打印类

    python 以单例模式封装logging相关api实现日志打印类   by:授客QQ:1033553122 测试环境: Python版本:Python 2.7   实现功能: 支持自由配置,如下lo ...

  8. Python日志配置类

    # -*- coding: utf-8 -* """日志工具类 author: Jill usage: from common.logger import Log log ...

  9. Log 日志工具类 保存到文件 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

随机推荐

  1. 腾讯优测优分享 | 游戏的UI自动化测试可以这样开展

    腾讯优测是专业的自动化测试平台,提供自动化测试-全面兼容性测试,云真机-远程真机租用,漏洞分析等多维度的测试服务,让测试更简单! 对于目前的两大游戏引擎cocos-2dx.unity3D,其UI自动化 ...

  2. Flex 关闭浏览器

    在Actionscript 2及以前,要打开任何网址,只需调用全局函数getURL()即可.在Actionscript 3中,已经取消了getURL()这个全局函数,取而代之的是flash.net包中 ...

  3. React(JSX语法)----JSX拼写

    注意:For DOM differences,such as the inline style attribute,check here. // bad: it displays "FIrs ...

  4. CoreData数据库

        一  CoreData 了解 1 CoreData 数据持久化框架是 Cocoa API 的一部分,首先在iOSS5 版本的系统中出现:      它允许按照 实体-属性-值 模式组织数据: ...

  5. java程序员烂大街为何还不便宜?

    最近跟一朋友聊天,他是做c#开发的.他答应了老板带领一帮java工程师开发网站.披星戴月终于搞定,现在已经盈利.但是他公司的那帮搞c#的同事不淡定了. 在招聘java程序员的时候2年有开15k的.5年 ...

  6. 《C与指针》第十一章练习

    本章问题 1.在你的系统中,你能够声明的静态数组最大的长度能达到多少?使用动态内存分配,你最大能获取的内存块有多少? answer: This will vary from system to sys ...

  7. window.onload与$(document).ready()区别

    2013-12-08 17:11:34 window.onload一次只能执行一个程序,而$(document).ready()可以按照先后顺序执行多个程序. eg: function one(){ ...

  8. cps变换

    网上看了很多内容,很少有给出一个准确的概念,它的英文全称是continuous passing style, 直译为连续传递样式,那么cps transform就是将一些原本不是continuous ...

  9. visual studio code

    偏好设置: "editor.fontSize": 26, "editor.tabSize": 8, "editor.mouseWheelZoom&qu ...

  10. gzip压缩及测试方法【转载】

    Nginx开启Gzip压缩大幅提高页面加载速度 http://www.veryhuo.com/a/view/51706.html 刚刚给博客加了一个500px相册插件,lightbox引入了很多js文 ...