TraceLog.cs 累积 C#


  1 using System;
2 using System.Collections.Generic;
3 using System.Text;
4 using System.IO;
5 using System.Diagnostics;
6
7 namespace UtilityClass
8 {
9 public class TraceLog : TraceListener
10 {
11 // 初始化时给定一个日志文件位置
12 private string filePath;
13
14 public TraceLog()
15 : this("")
16 { }
17
18 public TraceLog(string filepath)
19 {
20 if (filepath.IndexOfAny(Path.GetInvalidFileNameChars()) > -1)
21 {
22 ShowMsg.ShowErr(null, "指定路径无效!\r\n\r\n请重新设置日志文件路径!");
23 Trace.Listeners.Clear();
24 return;
25 }
26 filePath = ConvertX.IsNullOrEmpty(filepath) ? AppDomain.CurrentDomain.BaseDirectory + "\\Error.Log" : Path.GetFullPath(filepath);
27 }
28
29 /// <summary>
30 /// 保存 错误信息 到指定日志
31 /// 此方法已重写 实际效果同 WriteLine
32 /// </summary>
33 public override void Write(string message)
34 {
35 File.AppendAllText(filePath, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + Environment.NewLine + message + Environment.NewLine);
36 }
37
38 /// <summary>
39 /// 保存 错误信息 到指定日志
40 /// </summary>
41 public override void WriteLine(string message)
42 {
43 File.AppendAllText(filePath, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + Environment.NewLine + message + Environment.NewLine);
44 }
45
46 /// <summary>
47 /// 输入一个 Exception 对象
48 /// 它将在日志文件中保存 错误信息 和 堆栈信息
49 /// </summary>
50 public override void WriteLine(object o)
51 {
52 string msg = "";
53 Exception ex = o as Exception;
54 if (ex != null)
55 {
56 msg = ex.Message + Environment.NewLine;
57 msg += ex.StackTrace;
58 }
59 else if (o != null)
60 {
61 msg = o.ToString();
62 }
63 WriteLine(msg);
64 }
65
66 /// <summary>
67 /// 输入一个 错误信息 和一个 分类名称
68 /// 它将在日志文件中保存 错误信息
69 /// </summary>
70 public override void WriteLine(string message, string category)
71 {
72 string msg = "";
73 if (!ConvertX.IsNullOrEmpty(category))
74 {
75 msg = category + ":";
76 }
77 msg += message;
78 WriteLine(msg);
79 }
80
81 /// <summary>
82 /// 输入一个 Exception 对象和一个 分类名称
83 /// 它将在日志文件中保存 错误信息 和 堆栈信息
84 /// </summary>
85 public override void WriteLine(object o, string category)
86 {
87 string msg = "";
88 if (!ConvertX.IsNullOrEmpty(category))
89 {
90 msg = category + ":";
91 }
92 if (o is Exception)
93 {
94 var ex = (Exception)o;
95 msg += ex.Message + Environment.NewLine;
96 msg += ex.StackTrace;
97 }
98 else if (o != null)
99 {
100 msg = o.ToString();
101 }
102 WriteLine(msg);
103 }
104 }
105 }

TraceLog.cs 累积 C#,布布扣,bubuko.com

时间: 2024-10-06 02:43:44

TraceLog.cs 累积 C#的相关文章

Program.cs 累积_C#

1 using System; 2 using System.Diagnostics; 3 using System.Threading; 4 using System.Windows.Forms; 5 using UtilityClass; 6 7 namespace Program 8 { 9 static class Program 10 { 11 /// <summary> 12 /// 应用程序的主入口点. 13 /// </summary> 14 [STAThread]

高精度运算-阶乘累积求和

# include <stdio.h> # include <math.h> # define N 66 int main(){ int s[N] = {0}, a[N] = {0};// s累加和,a累积求阶乘 int i,j,k,n,digit=1; //digit代表的是数字的位数 scanf("%d",&n); a[0]=1; s[0]=1; if(n==1)// 如果是1,阶乘和就是1,直接输出 printf("%d",s[

φ累积失败检测算法(转)

在分布式系统中经常使用心跳(Heartbeat)来检测Server的健康状况,但从理论上来说,心跳无法真正检测对方是否crash,主要困难在于无法真正区别对方是宕机还是“慢”.传统的检测方法是设定一个超时时间T,只要在T之内没有接收到对方的心跳包便认为对方宕机,方法简单粗暴,但使用广泛. 1. 传统错误检测存在的缺陷 如上所述,在传统方式下,目标主机会每间隔t秒发起心跳,而接收方采用超时时间T(t<T)来判断目标是否宕机,接收方首先要非常清楚目标的心跳规律(周期为t的间隔)才能正确设定一个超时时

CS文件类头注释

1.修改unity生成CS文件的模板(模板位置:Unity\Editor\Data\Resources\ScriptTemplates 文件名:81-C# Script-NewBehaviourScript.cs) 本人将模板修改为如下图(红框内的内容) 备注:在"#"之间的为可替换的参数 2.修改模板可替换参数,在工程项目Asset文件夹在创建Editor文件 在文件夹下添加AddFileHeadComment.cs文件 内容如下 参数内容根据个人需求修改

CS 和 BS 的区别和优缺点

bs是浏览器(browser)和服务器(server) cs是静态客户端程序(client)和服务器(server) 区别在于,虽然同样是通过一个程序连接到服务器进行网络通讯,但是bs结构的,客户端运行在浏览器里,比如你看百度,就是通过浏览器.还有一些bs结构的应用,比如中国电信,以及一些电子商务平台.用bs结构的好处是,不必专门开发一个客户端界面,可用asp,php,jsp等比较快速开发web应用的程序开发. cs结构的,要做一个客户端.网络游戏基本上大多是cs结构,比如你玩传奇,要专门开个传

Win10一周年累积更新14393.10向非insider用户推送

9月29日消息,微软在今天先后向快速预览.慢速预览和发布预览三个通道的网上赌博推送了Win10一周年累积更新14393.10,win10之家发现Win10非insider用户也检测到了该更新. Win10一周年累积更新14393.10实际上是一个编号为KB3176929的更新包,除了加入预览计划的Win10用户,非insider用户如果自行安装了14393版本,那么也会接收到14393.10更新推送,看起来微软已经做好了推送Win10一周年更新的准备.

微软SQLHelper.cs类 中文版

using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Configuration; using System.Data; using System.Data.SqlClient; using System.Xml; using System.Collections; namespace LiuYanBanT { public class SqlHelper

AssemblyInfo.cs文件详解

一.前言 .net工程的Properties文件夹下自动生成一个名为AssemblyInfo.cs的文件,一般情况下我们很少直接改动该文件.但我们实际上通过另一个形式操作该文件.那就是通过在鼠标右键点击项目的属性进入“应用程序”->“程序集信息”,然后修改信息. 二.作用 通过特性(Attribute)来设置程序集(dll文件)的常规信息,供查看或作为配置信息供程序内部使用. 三.详解 // 程序集标题 [assembly:AssemblyTitle("程序集标题")] // 程

全局程序集GlobalAssemblyInfo.cs进行版本控制(引)

原文出自:http://blog.csdn.net/oyi319/article/details/5753311 1.全局程序集GlobalAssemblyInfo.cs 我们编写的一个解决方案,通常会包含多个项目,而每个项目都有单独的程序集信息AssemblyInfo.cs.但是,你会发现一个问题,这些AssemblyInfo.cs当中有一部分在重复的,若能把它们提取出来放入一个单一文件中,修改AssemblyInfo中的诸如产品名.产品版本.版本等信息会变得轻松.那么,这个程序集信息文件,我