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

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

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

  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. 前台给后台传JSON字符串,后台解析并保存

    前台 function BMSure() { var DanWeiName = $("[id$='BusinessName']").val(); var Address = $(& ...

  2. python学习历程之split()方法获取cmd mysql 结果集

    if __name__=='__main__': FServerId = raw_input("Please input source id:") GetFileKey(FServ ...

  3. JS和Android交互

    //本地webview写法 webview = (WebView) findViewById(R.id.webview); webview.loadUrl("http://192.168.1 ...

  4. bn

    BN是在每一层之前对神经元的输入进行归一化,对sigmoid激活函数有效(对Relu也有效),可以更快的收敛且可以有效减少过拟合.

  5. git .gitignore

    github 搜索 .gitignore 外层为语言使用的,里层为编译器使用的,分别添加到自己的文件中. 目前Androidstudio使用gradle作为项目管理,.idea   .iml  文件都 ...

  6. uva133 救济金发放

    #include<stdio.h> #define maxn 20 ], n; int go( int p,int d,int t ) {// printf("a[%d]=%d\ ...

  7. Makefile简易教程

    本文部分内容引用: 中文维基百科. 一个简单的Makefile教程. Makefile简介 在软件开发中,make通常被视为一种软件构建工具.该工具主要经由读取一种名为"makefile&q ...

  8. 浅谈pads的铜(灌铜)

    在pads中,先按照<pads实战攻略与高速PCB设计>中所说分类,大面积的灌铜有三个重要的概念: (1)copper(铜箔,静态铜): (2)copper pour(覆铜,动态铜): ( ...

  9. Qt中数据模块学习

    QtSql模块 驱动类型和数据库:不同的数据库用不同的驱动连接(接口不同) QDB2->DB2 QOCI->orcle QODBC->SQLServer等 QSqlDataBase类 ...

  10. 模型(Model)– ASP.NET MVC 4 系列

           为 MVC Music Store 建模        在 Models 目录中为专辑.艺术家.流派建模: public class Album { public virtual int ...