Mister_yang_ 2021-07-23 14:40 采纳率: 0%
浏览 16

C++ 使用glog 发现的bug

在C++开发项目中使用glog 记录程序运行日志,在一个for循环中想要将循环遍历解析的结果存入日志文件中,经测试发现循环的最后几次内容不能存到日志。于是写了一个测试程序如下

#include <glog/logging.h>
#include <iostream>
int main(int argc, char** argv){
    google::InitGoogleLogging(argv[0]);
    FLAGS_log_dir = "./log";
    // FLAGS_logtostderr = 1;
    FLAGS_alsologtostderr = 1;
    for(int count = 0;count < 150;count++)
    {
        LOG(INFO) << "count = " << count;
        std::cout << "count = " << count << std::endl;
        
    }
    return 0;
}

该程序运行结果显示:

  1. cout 和LOG输出到控制台的部分都符合预期:
.......
I20210723 14:17:04.005897 30611 glog_test.cpp:10] count = 131
count = 131
I20210723 14:17:04.005930 30611 glog_test.cpp:10] count = 132
count = 132
I20210723 14:17:04.005973 30611 glog_test.cpp:10] count = 133
count = 133
I20210723 14:17:04.006023 30611 glog_test.cpp:10] count = 134
count = 134
I20210723 14:17:04.006193 30611 glog_test.cpp:10] count = 135
count = 135
I20210723 14:17:04.006239 30611 glog_test.cpp:10] count = 136
count = 136
I20210723 14:17:04.006278 30611 glog_test.cpp:10] count = 137
count = 137
I20210723 14:17:04.006319 30611 glog_test.cpp:10] count = 138
count = 138
I20210723 14:17:04.006369 30611 glog_test.cpp:10] count = 139
count = 139
I20210723 14:17:04.006412 30611 glog_test.cpp:10] count = 140
count = 140
I20210723 14:17:04.006453 30611 glog_test.cpp:10] count = 141
count = 141
I20210723 14:17:04.006494 30611 glog_test.cpp:10] count = 142
count = 142
I20210723 14:17:04.006536 30611 glog_test.cpp:10] count = 143
count = 143
I20210723 14:17:04.006589 30611 glog_test.cpp:10] count = 144
count = 144
I20210723 14:17:04.006635 30611 glog_test.cpp:10] count = 145
count = 145
I20210723 14:17:04.006675 30611 glog_test.cpp:10] count = 146
count = 146
I20210723 14:17:04.006709 30611 glog_test.cpp:10] count = 147
count = 147
I20210723 14:17:04.006747 30611 glog_test.cpp:10] count = 148
count = 148
I20210723 14:17:04.006784 30611 glog_test.cpp:10] count = 149
count = 149
  1. LOG输出到文件:
.......
20210723 14:17:04.005856 30611 glog_test.cpp:10] count = 130
I20210723 14:17:04.005897 30611 glog_test.cpp:10] count = 131
I20210723 14:17:04.005930 30611 glog_test.cpp:10] count = 132
I20210723 14:17:04.005973 30611 glog_test.cpp:10] count = 133
I20210723 14:17:04.006023 30611 glog_test.cpp:10] count = 134
I20210723 14:17:04.006193 30611 glog_test.cpp:10] count = 135
I20210723 14:17:04.006239 30611 glog_test.cpp:10] count = 136
I20210723 14:17:04.006278 30611 glog_test.cpp:10] count = 137
I20210723 14:17:04.006319 30611 glog_test.cpp:10] count = 138
I20210723 14:17:04.006369 30611 glog_test.cpp:10] count = 139
I20210723 14:17:04.006412 30611 glog_test.cpp:10] count = 140
I20210723 14:17:04.006453 30611 glog_test.cpp:10] count = 141
I20210723 14:17:04.006494 30611 glog_test.cpp:10] count = 142
I20210723 14:17:04.006536 30611 glog_test.cpp:10] count = 143
I20210723 14:17:04.006589 30611 glog_test.cpp:10] count = 144
I20210723 14:17:04.006635 30611 glog_test.cpp:10] count = 145
I20210723 14:17:04.006675 30611 glog_test.cpp:10] count = 146

从结果可以看出输出到文件的只能记录到146,还有3条记录没记录上,而终端输出结果又是正确的,这就很疑惑?
备注:当前glog 版本为0.6.0版本。

  • 写回答

1条回答 默认 最新

  • Soda Wang 2021-07-26 10:18
    关注

    看了一下官方仓库,最高是0.5.0版本。试了一下,没有什么错误。你用0.5.0试试。

    评论

报告相同问题?

问题事件

  • 创建了问题 7月23日

悬赏问题

  • ¥15 iE 浏览器不能访问 oracle secure global server, google 浏览器可以
  • ¥50 Namuru2007_Baseband_Verilog代码疑点
  • ¥15 复杂公式求最值问题,含有多个符号常量
  • ¥15 Qt移植后在开发板上无法运行
  • ¥15 关于STID337-32D15YB开发板LINUX调试
  • ¥15 有没有熟悉自动化点胶设备,有个加密狗,想复制一份软件到另个设备
  • ¥15 mysql 部分截取字符串
  • ¥20 只有一个C盘,磁盘管理分区
  • ¥15 PVE8.2版本ceph的监控项状态stopped不能销毁
  • ¥15 如何加快视频观看速度?