使用log4cplus有六个基本步骤:
实例化一个封装了输出介质的appender对象;
实例化一个封装了输出格式的layout对象;
将layout对象绑定(attach)到appender对象;如省略此步骤,简单布局器SimpleLayout对象会绑定到logger。
实例化一个封装了日志输出logger对象,并调用其静态函数getInstance()获得实例,log4cplus::Logger::getInstance("logger_name");
将appender对象绑定(attach)到logger对象;
设置logger的优先级,如省略此步骤,各种有限级的日志都将被输出。
类 | 功能 |
---|---|
Logger | 记录日志的句柄。 |
Appender | 用于指定内容输出位置(如:控制台,文件、远程服务器等)。一个Logger可添加多个Appender,从而向多个位置输出日志。 |
Layout | 用于指定日志输出的格式。每一个Appender须要设置一个Layout。 |
三者关系
Log4cplus支持的Layout的类型
/* step 1: Instantiate an appender object */
SharedObjectPtr _append (new ConsoleAppender());
_append->setName("append for test");
/* step 2: Instantiate a layout object */
std::auto_ptr<Layout> _layout(new log4cplus::SimpleLayout());
/* step 3: Attach the layout object to the appender */
_append->setLayout(_layout);
/* step 4: Instantiate a logger object */
Logger _logger = Logger::getInstance("test");
/* step 5: Attach the appender object to the logger */
_logger.addAppender(_append);
/* log activity */
LOG4CPLUS_DEBUG(_logger, "This is the simple formatted log message...")