Boost库学习(8)log

在实际项目中使用了我自己封装的Boost::log之后,发现使用体验并不好。

失败之处

  • log的输出控制不方便(必须重新编译)
  • 使用boost1.57之后,一旦调用了log设定函数,输出的就只剩下message了,没有时间等信息
  • 关闭log输出之后,还必须创建一个ostream的对象才能保证编译通过(虽然创建对象已经封装好了)
  • log的各个等级比较难记忆

改进之处

  • log的输出控制通过读配置文件完成
  • log设定函数不用手动调用,第一次输出log时自动调用,并且设置好了常用attributes
  • 关闭log输出时,自动将log输出语句变成空语句,不影响内存占用和编译执行速度
  • 直接用数字表示log等级
  • 整合了Boost::Program_options,可以通过命令行参数生成log配置文件的模板

完整的代码在template目录。

你可能感兴趣的:(C++,boost)