日志记录是用于故障排除和维护软件系统的关键技术。Petru提供了一种类型安全,线程安全和可移植的C ++日志框架。
日志记录是用于故障排除和维护软件系统的关键技术。要获取它所提供的信息也十分简单,既不要求具备编程语言的知识,也不需要专用工具。日志是一个判断应用程序是否正常运行的有效手段。良好的日志机制可以有效节省调试时间,并大大提高应用程序的可维护性
在本文中,我将介绍一个简单但非常有用的日志框架,它是类型安全,线程安全(行级),高效,可移植,细粒度,紧凑和灵活的。它能在Sun或其他平台上使用Visual C ++ 7.1,g ++ 3.3.5和CC 5.3编译。完整源代码可以在www.ddj.com/code/下的DDJ October 2007 zip文件中找到。
在本文的第2部分,我会通过提供更多的粒度来增强这种技术。
The First Step 第一步
让我们对Log类中进行第一次刺探。 清单1使用名为“os”的std :: ostringstream成员变量来累积记录的数据。 Get()成员函数提供对该变量的访问。 所有数据格式化后,Log的析构函数将输出保存为标准错误。 你像这样使用Log类:
Log().Get(logINFO) << "Hello " << username;
&

