开始我的第一个vc模块的设计。

这个是一个vc的写日志的类,为什么叫CLog3...因为之前有两版写log的类,但是都是用C#写的,所以这个vc写的就叫CLog3吧。

功能只是简单模拟C#中的写Log的方法的设计。


设计思路:

因为在程序运行过程中, 需要记录一些信息到log中, 同时要尽量减少对主处理模块的影响,减少i|o的操作,所以CLog3中设计的思路为自己创建一个Thread,该Thread会获取一个队列中的讯息,当要写一个讯息的时候, 将要写的信息添加到队列中,并通知Thread获取队列中的资料,写入已经打开的文件中。

因为在StartLog的时候,就已经将一个CFile对象打开了,所以减少了写是在Open的操作。

而调用方只是将要写的log扔到队列中,然后就可以继续处理自己的事情了,不用等待log写完后在处理,减少了对主模块的影响。


该开发环境是windows 2003 + vc.net 2005, 因为vc.net 2005中默认开启了Unicode 的模式,所以要写汉字到文件需要将CString转换成char * ,祥见: http://www.cnblogs.com/zhucl1006/archive/2008/01/02/1023380.html

Clog3.h

CLog3.cpp

CLog3 写日志的类// 
CLog3 写日志的类
//


这个算是我第一个vc的code,可能也存在什么不妥之处,读者们见笑了。

Demo下载

 

相关文章: