.net 创建属于自己的log类
2018-06-18 02:20:46来源:未知 阅读 ()
实习到现在已经接近三个月了,由于是校企联合培养计划,所以没有工资,所幸公司对于我们这些实习生并没有什么要求,刚开始我还觉得要做点什么才能学得快,可是到了后来,发现公司安排给我们的任务并不紧要,也不算太难。
到现在大约接触了2,3个模块的设计和实现了,起初,在文件读写和记录日志方面屡屡收到了批评,因外在大学的时候并没有记录日子的习惯,使得这个时候匆匆忙忙要养成在关键位置记录日志的习惯变得有些困难,
起初我是使用了postsharp的第三方插件来记录自己的运行日志的,可是后来发现在代码移植方面,如果其他电脑没有安装postsharp会使得移植过程变得复杂,特别是在部署的时候增加复杂度。
现在在进行新的模块的时候决定不再使用postsharp了,打算自己写一个简单的记录日志的类,来记录在关键位置的操作。
【改进版】
http://www.cnblogs.com/Bobdong/p/5032690.html
不废话,直接出代码,代码比较简单,实现的功能也非常简单。
可以直接复制粘贴来使用,同时,我也提供了源码给像我一样的初学者下载。
1 using System; 2 using System.IO; 3 4 namespace CustomerLog 5 { 6 7 /// <summary> 8 /// 保存日志 9 /// </summary> 10 public class Logging 11 { 12 #region 日志分类 13 /// <summary> 14 /// 保存普通日志 15 /// </summary> 16 /// <param name="message"></param> 17 public static void Writelog(string message) 18 { 19 string logContent = string.Format("[{0}] =>{1}", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), message); 20 SetFile(@"Log.txt", logContent); 21 } 22 23 /// <summary> 24 /// 保存关键日志 25 /// </summary> 26 /// <param name="message"></param> 27 public static void WriteKeylog(string message) 28 { 29 var logContent = string.Format("[{0}]=>{1}", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), message); 30 SetFile(@"KeyLog.txt", logContent); 31 } 32 33 /// <summary> 34 /// 保存错误信息日志 35 /// </summary> 36 /// <param name="ex"></param> 37 public static void WriteBuglog(Exception ex) 38 { 39 var logContent = string.Format("[{0}]错误发生在:{1},\r\n 内容:{2}", 40 DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), ex.Source, ex.Message); 41 logContent += string.Format("\r\n [{0}] 跟踪:{1}", DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss"), 42 ex.StackTrace); 43 SetFile(@"BugLog.txt", logContent); 44 } 45 #endregion 46 47 #region 通用操作 48 /// <summary> 49 /// 标准化写入过程,继承之后可自定义写入内容 50 /// 默认保存在debug目录的Log目录下 51 /// </summary> 52 /// <param name="filename">文件名</param> 53 /// <param name="logContent">写入内容</param> 54 protected static void SetFile(string filename, string logContent) 55 { 56 Isexist(); // 判断Log目录是否存在 57 string errLogFilePath = Environment.CurrentDirectory + @"\Log\" + filename.Trim(); 58 StreamWriter sw; 59 if (!File.Exists(errLogFilePath)) 60 { 61 FileStream fs1 = new FileStream(errLogFilePath, FileMode.Create, FileAccess.Write); 62 sw = new StreamWriter(fs1); 63 } 64 else 65 { 66 sw = new StreamWriter(errLogFilePath, true); 67 } 68 sw.WriteLine(logContent); 69 sw.Flush(); 70 sw.Close(); 71 } 72 73 // 判断是否存在日志文件 74 private static void Isexist() 75 { 76 string path = Environment.CurrentDirectory + @"\Log\"; 77 if (!File.Exists(path)) 78 { 79 Directory.CreateDirectory(path); 80 } 81 } 82 #endregion 83 } 84 }
↓↓↓↓↓下载地址↓↓↓↓↓【目前只会用百度云盘分享,求大神教授更加好用的分享方式】
http://pan.baidu.com/s/1kTNcfdH
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
- C++ 析构函数 2020-06-03
- 软件工程第三次作业 2020-03-30
- C++ 枚举 2020-03-26
- Windows 创建 .gdbinit 提示必须键入文件名 2020-03-17
- 二叉树(二)线索二叉树 2020-02-01
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash