由Google Log库glog循环打印到一行引发的C++知识点思考

本文探讨了Google的C++日志库glog,如何避免日志输出时的换行问题,以及如何在不牺牲效率的情况下控制日志输出。作者通过分析源码,提供了解决循环打印日志到同一行以及在不影响程序效率的情况下关闭日志的方案。
摘要由CSDN通过智能技术生成

Google Log库glog

glog是Google的一个C++日志库,原文见http://google-glog.googlecode.com/svn/trunk/doc/glog.html。其使用方法类似于:

LOG(INFO) << "Found " << num_cookies << " cookies";

使用相当方便!输出会类似于:

xxxxxxxx] Found 123456 cookies

前面的前缀我偷懒了,实际会包含输出log的时间、文件,以及行号!

我遇到的问题

上面的一行代码可以输出一行日志,但是我有时候需要遍历一个数组然后把数组里的东西输出到一行里。

比如我期望输出一个学生的所有课程id:

xxxxxxxxxx] Classes for student 10086: 135 137 134

假设我这么写代码(请原谅我用了c++11,因为语法比较简洁啦!):

vector<int> classIds = findClasses(studentId);
LOG(INFO) << "Classes for student " << studentId << ": ";
for(int classId: classIds) {
    LOG(INFO) << classId << " ";
}

实际输出会是介个样纸:

xxxxxxxxxx]Classes for student 10086:
xxxxxxxxxx]
  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值