一个简单的日志类

8/3/2015来源:C#应用人气:1341

一个简单的日志类

继前段时间更新的2篇之后,又有日子没更新了,时间一长怕又不想更了。

放一个以前做的,一直用着的日志类。代码比较短,也不用码很多字去说明,代码如下:

 1 /* 2  * 日志类 log.cs 3  * 作者:宁涛 4  * 时间:2012-09-20 5  * 用法: 6  * NingTao.Log myLog = new NingTao.Log("日志名称"); 7  * myLog.addLog(@"日志信息"); 8  * 添加一条日志时: 9  * 目录结构:日志名称\年月\日.log10  * 日志内容:[时间] 日志信息11 */12 13 using System;14 using System.Text;15 using System.IO;16 17 namespace NingTao18 {19   public class Log20   {21     // 日志分类名称22     PRivate string logCategory = "logs";23 24     public string LogCategory25     {26       get { return logCategory; }27       set { logCategory = value; }28     }29 30     public Log()31     {32     }33     public Log(string categoryname)34     {35       LogCategory = categoryname;36     }37 38     // 添加一行日志39     public bool addLog(string logContent)40     {41       try42       {43         DateTime currentTime = DateTime.Now;44         // 目录不存在则创建45         string strPath = System.AppDomain.CurrentDomain.SetupInformation.applicationBase + @"\" + logCategory + currentTime.ToString(@"\\yyyyMM");46         if (!Directory.Exists(strPath))47         {48           Directory.CreateDirectory(strPath);49         }50 51         string strFile = currentTime.ToString(@"\\dd.lo\g");52         string strContent = currentTime.ToString(@"[HH:mm:ss] ");53         strContent += logContent + "\r\n";54         using (var writer = new StreamWriter(strPath + strFile, true, Encoding.UTF8))55         {56           writer.Write(strContent);57         }58         return true;59       }60       catch61       {62         return false;63       }64     }65   }66 }

用法:

先创建实例,指定存放文件夹的名称。比如我创建一个eventLOg,一个errorLog。

需要保存事件或错误信息的时候,只要相应的实例add一条就可以了。

之后软件运行一段时间,就可以查一下相应的事件及错误日志了。

周末如果有时间,准备继续玩一下leapmotion。毕竟还是想让它能有点用处,能拿出来显摆显摆。比如控制个幻灯片播放什么的。最近试了一下,网页版幻灯片框架reveal.js竟然可以支持leapmotion控制。想通用的话,还是模拟下鼠标动作比较方便。查了一下,codeproject上面有个MouseKeyboardLibrary鼠标键盘钩子库,比较好用。准备抽时间把它挂到leapmotion上,先试试用leapmotion代替鼠标。
下篇预告:(关于leapmotion)