C# 系统错误日志处理类
编写软件,难免会有一些异常,针对异常我们在实际的开发中相比都有一些,捕获异常的处理办法。把软件运行错误信息写成一个
错误日志文件很有必要。当我们在客户那边安装调试时就会更加快捷的,知道错误在哪里。否则你怎么知道软件运行哪里不正常,难道
还要在客户机器上装个开发环境调试一番吗?日志处理类,简单几行代码的事,不要手懒!
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# 系统错误日志处理类的更多相关文章
- Log4J日志管理类使用详解 (转)
一.前言: log4j 是一个开放源码项目,是广泛使用的以Java编写的日志记录包.由于log4j出色的表现, 当时在log4j完成时,log4j开发组织曾建议sun在jdk1.4中用log4j取代j ...
- android开发必备日志打印工具类
今天给大家献上一款好用的日志打印工具.大家在平时的开发中用的最多的可能就是Log.i("",""),Log.e("","" ...
- Android开发调试日志工具类[支持保存到SD卡]
直接上代码: package com.example.callstatus; import java.io.File; import java.io.FileWriter; import java.i ...
- logger日志工具类
日志工厂类 package cn.itcast.utils; import java.util.logging.FileHandler; import java.util.logging.Handle ...
- Java 基于log4j的日志工具类
对log4j日志类进行了简单封装,使用该封装类的优势在于以下两点: 1.不必在每个类中去创建对象,直接类名 + 方法即可 2.可以很方便的打印出堆栈信息 package com.tradeplatfo ...
- Qt编写调试日志输出类带网络转发(开源)
用qt开发商业程序已经九年了,陆陆续续开发过至少几十个程序,除了一些算不算项目的小工具外,大部分的程序都需要有个日志的输出功能,希望可以将程序的运行状态存储到文本文件或者数据库或者做其他处理等,qt对 ...
- python 以单例模式封装logging相关api实现日志打印类
python 以单例模式封装logging相关api实现日志打印类 by:授客QQ:1033553122 测试环境: Python版本:Python 2.7 实现功能: 支持自由配置,如下lo ...
- Python日志配置类
# -*- coding: utf-8 -* """日志工具类 author: Jill usage: from common.logger import Log log ...
- Log 日志工具类 保存到文件 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
随机推荐
- golang http服务器跨域问题解决
func main() { openHttpListen() } func openHttpListen() { http.HandleFunc("/", receiveClien ...
- yii accessRules用法
访问控制过滤器(Access Control Filter)访问控制过滤器是检查当前用户是否能执行访问的controller action的初步授权模式. 这种授权模式基于用户名,客户IP地址和访问类 ...
- Joomla及其类似软件的说明分析
Joomla不单单是一款免费的软件,还是在国外相当知名的及内容管理.web开发及手机应用开发等为一体的一套系统.Joomla是使用PHP语言加上MySQL数据库所开发的软件系统,可以在Linux. W ...
- lnmp无法删除目录,目录包含.user.ini
无法删除".user.ini"文件解决方法,运行后删除即可 chattr -i /home/wwwroot/yoursite/.user.ini 如果是需要修改文件,记得修改完以后 ...
- a标签与click的关系
当点击浏览器a标签的时候,浏览器的默认机制如下: 1.触发a的click事件2.读取href属性的值3.如果是URI则跳转4.如果是javascript代码则执行该代码 下面我们一起来做一个实验: 我 ...
- 3数字cn域名延续数字域名火爆行情! 珍品域名 593.cn 出售
近日, 域名投资者小维放出珍藏多年的珍品域名593.cn, 据悉该域名将参加易名中国举办的数字域名专场拍卖活动,将以1元标价起拍. 域名593.cn,数字“593”谐音“我就上.吾就上.我就商 ...
- WEKA运行LIBSVM出现problem evaluating classifier:rand
原来这个实验已经做了的.也出现了些问题,但是上网找到了解决方法,那个时候是完成数据挖掘的课程论文,用WEKA运行LIBSVM,也没有很深入,简单跑出结果就算了. 这次想着研讨会就讲这个,想着深入进去, ...
- 【转】Java出现No enclosing instance of type E is accessible. Must qualify the allocation with an enclosing
最近在看Java,在编译写书上一个例子时,由于书上的代码只有一部分,于是就自己补了一个内部类.结果编译时出现:No enclosing instance of type E is accessible ...
- git初学习体会
github:项目版本控制器 git和传统的版本控制器相比,最大的一点是,界面简单,给与非线性开发模式的强有力的支持,完全分布式等. 对于完全分布式的实现,我的理解是这个样子的.这多少要涉及到一点它的 ...
- Redis的三种启动方式【转】
Part I. 直接启动 下载 官网下载 安装 tar zxvf redis-2.8.9.tar.gz cd redis-2.8.9 #直接make 编译 make #可使用root用户执行`make ...