C++: log4cpp日志管理系统的简单介绍

一、Layout,设置日志输出风格

有BasicLayout、SimpleLayout、PatternLayout,其中BasicLayout,SimpleLayout主要是提供的成型的简单日志风格,实际中基本不会使用,主要是使用PatternLayout对日志做格式输出,Layout是加载到Appender中去的。

涉及头文件:

#include<log4cpp/BasicLayout.hh>
#include<log4cpp/SimpleLayout.hh>
#include<log4cpp/PatternLayout.hh>

BasicLayout: "以时间戳 + 优先级 + 内容"
构造函数:

log4cpp::BasicLayout::BasicLayout()

输出例子格式:

1248337987 ERROR : Hello log4cppin a Error Message!
1248337987 WARN : Hello log4cppin a Warning Message!

SimpleLayout:"优先级 + 日志信息"

log4cpp::SimpleLayout::SimpleLayout()

PatterLayout: "使用类似 printf 的格式化模式"
构造函数:

log4cpp::PatternLayout::PatternLayout()

PatterLayout 设置日志格式函数:

void log4cpp::PatternLayout::setConversionPattern(const std::string &conversionPattern) throw(ConfigureFailure)

使用 PatterLayout 时的格式化参数:

%c category;
%d 日期;日期可以进一步的设置格式,用花括号包围,例如%d{
   
   %H:%M:%S,%l} 或者 %d{
   
   %d %m
%Y%H:%M:%S,%l}%m 消息;
%n 换行符,会根据平台的不同而不同,但对于用户透明;
%p 优先级;
%r 自从 layout 被创建后的毫秒数;
%R 从 1970110 时开始到目前为止的秒数;
%u 进程开始到目前为止的时钟周期数;
log4cpp::PatternLayout* pLayout = new log4cpp::PatternLayout();
pLayout->setConversionPattern("%d: [%p] %c %x: %m %n");
appender->setLayout(pLayout);
二、Appender,确定日志输出行为

例如输出到哪儿,如何输出。类Appender是由Category来加载的,一个Category可以加载多个Appender,输出到多个地方,一个Appender也可以被多个Category加载,但是有些Appender类没有设置互斥,日志的多线程支持主要是在Category里做的处理,因此不要使用一个Appender加载到多个Category中。

涉及头文件:

#include <log4cpp/Appender.hh>
#include <log4cpp/OstreamAppender.hh>
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值