log4cpp
简介
一个C++日志库,模仿Log4j(java日志库)
优点
可拓展的、多种记录日志方式,包括命令行、文件、回滚文件、内存、syslog服务器、
win事件日志、VS debuger等可动态调整日志优先级
可动态加载配置文件
内存占用小,不到200KB
跨平台
原理
log4cpp主要有3大组件:category、appender、layout。
layout
用来控制输出日志消息的格式,每个appender关联一个layout
appender
用来指定输出目的地
category
一个日志工作体,具有日志级别属性,可以拥有多个appender(一条消息可以输出到多个目的地)
category被组织成一棵树,子category创建时优先级缺省NOTSET,category缺省会继承父category的appender。
而如果不希望这种appender的继承关系,log4cpp允许使用additivity 标签,为false时新的appender取代category的appender列表。
使用流程
实例化一个layout对象,设置格式
实例化一个appender对象,设置layout
实例化一个category,添加appender