挖井

类库大魔王的挖井日记

挖一口属于自己的井


写了个简单的日志类

  基本可以满足自己使用的功能上的需求,即使发现哪里不能满足了,也可以马上自己改。不过实现得真是很难看很丑陋啊,是拿不出去见人的!而且在写这个类的时候,暴露了我的一大能力缺失,我对标准库和Boost一点都不了解,一些常用的组件应该怎么用我都不知道,全靠看帮助翻手册才勉强搞定。
  这个类开始是在VC2005下写的,然后拿到BCB2006下试了下,发现BCB连Boost::function库都不能好好地支持啊?真是受不了,而我写这个类时,有一部分功能是依赖于Boost的,比如支持回调,所以如果没有Boost,这部分功能就不能支持喽,当然其它的功能还是可以用的。目前可以将消息写到控件台、OutputDebugString(也就是调试器)、文件、系统日志。其实当时有个想法是,Windows下可以写到系统日志里,Unix-like的系统下应该用Syslog,不过这个就暂时不管了,哈哈!除了可以写消息外,还可以定制消息输出的内容格式,其实是不同内容在同一行中出现的顺序,呵呵。当然,如果编译器能支持Boost,就可以用回调,可以用全局函数,或仿函数(目前还不能支持类成员函数),就可以完全定制输出消息的格式了!
  除了依赖的Boost库外,全部的代码只有一个头文件,而且其它的依赖都是标准库或系统支持的库,方便啊!

本文地址:

https://minidump.info/blog/2007/05/e5-86-99-e4-ba-86-e4-b8-aa-e7-ae-80-e5-8d-95-e7-9a-84-e6-97-a5-e5-bf-97-e7-b1-bb/

上一篇

日志程序库

  昨天审视了一下那些概念,猛然发现一个严重的Bug的原因,原来一直是因为我对BSTR等的概念不了解,才造成了这样的问题,哈哈,纠正一个严重bug的感觉真爽啊!现在也许真的是可以把那个任务搁一会儿了!除非到时候又有什么新的需求,或者要对某一块内容重构,对,有一块,现在的设计很傻很笨,缺少灵活性...…

Software 全文阅读
下一篇

日志类的回调函数可以是类成员函数喽

  下午躺在床上突然想到,原来在TclSuck中是怎么做的,看了一下,这么简单,虽然不想给日志类加个模板参数,所以不能有模板成员变量,但一个作为回调的成员函数属于哪个类是未知的,所以一定要用模板,要把这个信息保存起来,只要先定义一个普通的非模板类作为基类,给这个基类添加一个虚函数,再从这个基类...…

Shareware 全文阅读