Glog安装与使用

安装

脚本

#!/bin/bash
git clone https://github.com/google/glog.git
cd glog
git checkout v0.4.0
mkdir build && cd build
cmake ..
make -j4
echo "your password" | sudo -S make install

使用

main.cc

#include <glog/logging.h>

int main(int argc, char *argv[])
{
    // Initialize Google’s logging library.
    // change
    FLAGS_log_dir="/home/d/githubPro/casadi_test/build/logs/";
    // 最大日志大小(MB)
    FLAGS_max_log_size = 100;
    // FLAGS_logtostderr = false;     //如果FLAGS_logtostderr设置为true,日志将输出到标准输出;如果设置为false,则日志将输出到指定的文件中
    FLAGS_alsologtostderr = true;  // 设置日志消息除了日志文件之外还可显示到屏幕上
    FLAGS_colorlogtostderr = true; // 彩色打印输出
    google::InitGoogleLogging(argv[0]);
    // google::SetLogDestination(google::GLOG_INFO, "/home/d/githubPro/casadi_test/build/logs.log");
    LOG(INFO) << "This is an information message gogo";
    LOG(WARNING) << "This is a warning message";
    LOG(ERROR) << "This is an error message";

    /* 条件日志 */
    int num_cookies = 11;
    int size = 123;
    int i = 0;
    // num_cookies > 10才输出
    LOG_IF(INFO, num_cookies > 10)<< "Got lots of cookies";
    while (++i < 30)
    {
       // google::COUNTER 记录该语句被执行次数,从1开始,在第一次运行输出日志之后,每隔 10 次再输出一次日志信息
        LOG_EVERY_N(INFO, 10) << "Got the " << google::COUNTER << "th cookie";
        //每隔 10 次去判断条件是否满足,如果满足则输出日志;当满足某条件的情况下,每隔 10 次输出一次日志信息
	    LOG_IF_EVERY_N(INFO, (size > 1024), 10) << "Got the " << google::COUNTER << "th big cookie";  

        // 当此语句执行的前 20 次都输出日志,然后不再输出
        LOG_FIRST_N(WARNING, 20) << "first  " << google::COUNTER << " ";
    }
    google::ShutdownGoogleLogging(); // 关闭
}

cmake文件

cmake_minimum_required (VERSION 3.0.2)
project (glog_test VERSION 1.0)

find_package (glog 0.4.0 REQUIRED)

add_executable (main main.cc)
target_link_libraries (main glog::glog)

Todo 补充

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值