muduo 日志打印改造

改造前是这样的: 

改造后是这样的:

 

 时间戳改成本地的了,线程id 改成了[线程id],函数名称放到最后。看一下这个打印日志宏:

#define LOG_TRACE if (muduo::Logger::logLevel() <= muduo::Logger::TRACE) \
  muduo::Logger(__FILE__, __LINE__, muduo::Logger::TRACE, __func__).stream()

在上一篇 这里 讲过,这里创建一个匿名对象。调用的构造函数是这个版本的:

而在初始化列表里就调用了成员 impl_的构造函数,看一下其构造函数内容:

所以当调用完 Logger 的构造函数,impl_ 里已经有了日期时间、线程id、打印等级这些字符串了, 然后在执行完LOG_TRACE 后匿名对象被销毁,所以要调用 Logger 的析构函数:

 

 

在  Impl 对象的 finish() 函数里,把文件名、行号、函数名加上,最后输出到stdout。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值