TraceLog.cs 累积 C#
2014-05-13 10:51
295 查看
using System; using System.Collections.Generic; using System.Text; using System.IO; using System.Diagnostics; namespace UtilityClass { public class TraceLog : TraceListener { // 初始化时给定一个日志文件位置 private string filePath; public TraceLog() : this("") { } public TraceLog(string filepath) { if (filepath.IndexOfAny(Path.GetInvalidFileNameChars()) > -1) { ShowMsg.ShowErr(null, "指定路径无效!\r\n\r\n请重新设置日志文件路径!"); Trace.Listeners.Clear(); return; } filePath = ConvertX.IsNullOrEmpty(filepath) ? AppDomain.CurrentDomain.BaseDirectory + "\\Error.Log" : Path.GetFullPath(filepath); } /// <summary> /// 保存 错误信息 到指定日志 /// 此方法已重写 实际效果同 WriteLine /// </summary> public override void Write(string message) { File.AppendAllText(filePath, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + Environment.NewLine + message + Environment.NewLine); } /// <summary> /// 保存 错误信息 到指定日志 /// </summary> public override void WriteLine(string message) { File.AppendAllText(filePath, DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") + Environment.NewLine + message + Environment.NewLine); } /// <summary> /// 输入一个 Exception 对象 /// 它将在日志文件中保存 错误信息 和 堆栈信息 /// </summary> public override void WriteLine(object o) { string msg = ""; Exception ex = o as Exception; if (ex != null) { msg = ex.Message + Environment.NewLine; msg += ex.StackTrace; } else if (o != null) { msg = o.ToString(); } WriteLine(msg); } /// <summary> /// 输入一个 错误信息 和一个 分类名称 /// 它将在日志文件中保存 错误信息 /// </summary> public override void WriteLine(string message, string category) { string msg = ""; if (!ConvertX.IsNullOrEmpty(category)) { msg = category + ":"; } msg += message; WriteLine(msg); } /// <summary> /// 输入一个 Exception 对象和一个 分类名称 /// 它将在日志文件中保存 错误信息 和 堆栈信息 /// </summary> public override void WriteLine(object o, string category) { string msg = ""; if (!ConvertX.IsNullOrEmpty(category)) { msg = category + ":"; } if (o is Exception) { var ex = (Exception)o; msg += ex.Message + Environment.NewLine; msg += ex.StackTrace; } else if (o != null) { msg = o.ToString(); } WriteLine(msg); } } }
相关文章推荐
- 自用.....c,c++,C#编程经验累积
- Program.cs 累积_C#
- 利用c#制作简单的留言板(4)
- C#中获取程序当前路径的集中方法[转]
- C#操作Access数据库的例子
- C#日期加减
- [C#][正则表达式]寻找匹配的Groups的几种方法
- C#.net中MVC架构的应用
- C#创建不规则窗体代码
- C#程序中如何调用Windows API函数
- 转载:C# 中的委托和事件
- c# xml读写 操作 实例
- C# 反射技术应用
- 在C#中优化字符串操作
- C# 改变图片width height dpi 方法
- 图解C#中Enterprise Services(微软应用程序服务器)技术(一)
- C#与.NET程序员面试宝典 1.4.1 应聘流程(图)
- 用c#创建支持多语言的WinForm应用程序
- C#.NET获取当前月份最大天数
- C#中的static、readonly与const的比较