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

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

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

  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. thinkPHP CRUD操作

    数据访问 以 nation 表为例 方法一  => select() ①造模型对象 $naiton = D('Nation');   //也可以使用M()方法 ②查询所有 $a = $natio ...

  2. Wiki语料处理

    最近在做知识图谱相关工作,源数据主要来自百度百科,互动百科,中文维基百科等.其中中文维基百科提供数据库下载,下文主要讨论如何处理Wiki数据. 1. 中文维基数据下载 下载dump:https://d ...

  3. Oracle cmd 导出数据库或者表定义或者纯数据

    实例: expdp zypacs/Sfx371482@zyrisdb schemas=ZYPACS content=metadata_only CONTENT={ALL | DATA_ONLY | M ...

  4. PEP 8

    官方文档: PEP 8 :Style Guide for Python Code 部分翻译: http://www.blogjava.net/lincode/archive/2011/02/02/34 ...

  5. Angularjs 服务注册

    $injector: (When you request a service, the $injector is responsible for finding the correct service ...

  6. NSLog 自定义 屏蔽

    1.如何自定义NSLog呢? 直接在工程的XXX_Prefix.pch中加入以下语句(就相当于在全局中定义了)#define NSLog NSLog(@"#%s##%d#",str ...

  7. angular2 - content projection-

    angular2中的内容映射: App.component: <my-day> <my-lucky> </my-lucky> </my-day> MyD ...

  8. 【Django】Django 定时任务实现(django-crontab+command)

    一.编写自定义django-admin命令 注:利用django-admin自定义命令我们可以ORM框架对model进行操作,如:定时更新数据库,检测数据库状态..... Django为项目中每一个应 ...

  9. ObjectOutputStream序列化问题

    ObjectOutputStream序列化对象传输时,为了节省开销,会自动比较以前序列化过的对象,如果一致(指内存,不比较内容),则自动引用以前用过的对象,这就造成了传输到对方的对象总是第一次序列化的 ...

  10. 迭代器模式(Iterator Pattern)

    迭代器模式(Iterator),提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示. 迭代器模式(Iterator)就是分离了聚合对象的遍历行为,抽象出一个迭代器来负责这样既可以 ...