此文版权属于作者所有,任何人、媒体或者网站转载、借用都必须征得作者本人同意!
Pantheios
是目前为止 C/C++ 领域速度最快的程序诊断日志库,功能强大,性能突出。下面做一下简单介绍。
1.
是用于程序诊断的日志 api 库,不是诊断日志库。
2.
开源,100% 免费。
3.
依赖几个第三方库,这几个库也是开源和 100% 免费的,包括:
a. xTests
一个 c/c++ 简单的轻量级的单元/组件测试库,这个库只用在 pantheios 的单元测试中
b. b64
一个轻量级的、简单的和性能卓越的 b64 编码实现,用在 pantheios::b64 插入器中
c. shwild
是一个与 unix shell 兼容的通配符库,这个库也只用在 pantheios 的单元测试中
d. STLSOFT
它不是一个 stl 替换库,而是一个 stl 扩展库,它提供了许多系统和编译器差异兼容属性,使 pantheios 的实现更简单。
5.
100%
类型安全
6.
在链接时刻选择日志输出工具(比如,后端),原因是:
日志诊断库必须在代码的任何位置都可以使用,而不必等待 main 来设置日志输出。这样做的结果是,使链接设置时有些难度。
7.
扩充性好。
8.
已被一些重要的商业软件使用。
9.
可移植性好已通过各主流的 c++ 编译器的测试。
10.
Pantheios
由一个非常活跃的团队开发和维护。
由四个部分组成:
1.
应用层
应用程序使用的 log 表达式,比如 log_DEBUG(), log_INFORMATIONAL() 等等。
2.
核心层
高效地(经常,处理中不用申请任何内存)把各日志元素连在一块。
3.
前端(Front-end)
提供处理表示和检测给定级别的日志是否需要输出。(注:前端库用户可以自己实现也可以使用 Pantheios 已经实现的)
4.
后端(Back-end)
输出 Core 已经准备好的日志到输出流(比如控制台、COM 错误对象、syslog、Windows 事件日志...)。(注:后端库用户可以自己实现,或者使用 Pantheios 已经实现的)
Patheios 应用层组成
1.
每套日志函数支持 1 至 32 个参数
2.
共提供 8 套日志函数,包括:
log_DEBUG()
、log_INFORMATIONAL()、log_NOTICE()、log_WARNING()、log_ERROR()、log_CRITICAL()、 log_ALERT() 和 log_EMERGENCY()。
这些与 log() 加相应的级别参数的效果相同。
3.
2
个处理数值的插入器:integer 和 real
4.
1
个处理指针的插入器:pointer
5.