当前位置:网站首页>glog使用
glog使用
2022-08-05 21:21:00 【快乐得小萝卜】
粗略使用
main.cpp
#ifndef GLOG_NO_ABBREVIATED_SEVERITIES
#define GLOG_NO_ABBREVIATED_SEVERITIES // 如果不加这个宏定义代码就会报错
#endif
#include <glog/logging.h>
#pragma comment(lib, "glog.lib")
int main(int argc, char* argv[])
{
// 常用参数
// FLAGS_logtostderr = true; //设置日志消息是否转到标准输出而不是日志文件
// FLAGS_alsologtostderr = true; //设置日志消息除了日志文件之外是否去标准输出
// FLAGS_colorlogtostderr = true; //设置记录到标准输出的颜色消息(如果终端支持)
// FLAGS_log_prefix = true; //设置日志前缀是否应该添加到每行输出
// FLAGS_logbufsecs = 0; //设置可以缓冲日志的最大秒数,0指实时输出
// FLAGS_max_log_size = 10; //设置最大日志文件大小(以MB为单位)
// FLAGS_stop_logging_if_full_disk = true; //设置是否在磁盘已满时避免日志记录到磁盘
// 日志类型
// LOG //内置日志
// VLOG //自定义日志
// DLOG //DEBUG模式可输出的日志
// DVLOG //DEBUG模式可输出的自定义日志
// SYSLOG //系统日志,同时通过 syslog() 函数写入到 /var/log/message 文件
// PLOG //perror风格日志,设置errno状态并输出到日志中
// RAW_LOG //线程安全的日志,需要#include <glog/raw_logging.h>
// 使用glog之前必须先初始化库,仅需执行一次,括号内为程序名
google::InitGoogleLogging("test");
FLAGS_alsologtostderr = true;//是否将日志输出到文件和stderr
FLAGS_colorlogtostderr = true;//是否启用不同颜色显示
//INFO级别的日志都存放到logs目录下且前缀为INFO_
google::SetLogDestination(google::GLOG_INFO, "./INFO_");
//WARNING级别的日志都存放到logs目录下且前缀为WARNING_
google::SetLogDestination(google::GLOG_WARNING, "./WARNING_");
//ERROR级别的日志都存放到logs目录下且前缀为ERROR_
google::SetLogDestination(google::GLOG_ERROR, "./ERROR_");
//FATAL级别的日志都存放到logs目录下且前缀为FATAL_
google::SetLogDestination(google::GLOG_FATAL, "./FATAL_");
LOG(INFO) << "Hello,GLOG!";// 使用 INFO 进行打印
LOG(WARNING) << "warning";// warning 情况
LOG(ERROR) << "error";// error情况
// LOG(FATAL) << "fatak";// 报错
// 当条件满足时输出日志
int num = 9;
LOG_IF(INFO, num > 10) << " < 10";
num = 11;
LOG_IF(INFO, num > 10) << " > 10";
// google::COUNTER 记录该语句被执行次数,从1开始,在第一次运行输出日志之后,
// 每隔 10 次再输出一次日志信息
for(int i = 0; i < 10; i++){
LOG_EVERY_N(INFO, 10) << "Got the " << google::COUNTER << "th cookie";
}
// 先每隔 10 次去判断条件是否满足,如果是则输出日志;
// 不是当满足某条件的情况下,每隔 10 次输出一次日志信息
int size = 0;
for(int i = 0; i < 10; i++){
size += 512;
LOG_IF_EVERY_N(INFO, (size > 1024), 10) << "Got the " << google::COUNTER << "th big cookie";
}
// 当此语句执行的前 20 次都输出日志,然后不再输出
for(int i = 0; i < 10; i++){
LOG_FIRST_N(INFO, 2) << "Got the " << google::COUNTER << "th cookie";
}
return 0;
}
CMakeLists.txt
cmake_minimum_required(VERSION 2.8.3)
project(glog)
if(NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
endif()
add_compile_options(-std=c++11)
add_definitions(-w)
find_package(glog REQUIRED)
add_executable(main main.cpp)
target_link_libraries(main glog::glog)
结果
I20220728 19:37:42.388937 245433 main.cpp:27] Hello,GLOG!
W20220728 19:37:42.389828 245433 main.cpp:28] warning 手动黄色
E20220728 19:37:42.390450 245433 main.cpp:29] error 手动红色
边栏推荐
- 字符串拼接
- 项目踩坑—跨域问题
- File/data synchronization record between new and old computers
- Go语言之CGO
- 【树莓派】初始化系统环境安装
- opencv image stitching SURF
- dart learning record - Updating
- 使用ComposeDesktop开发一款桌面端多功能APK工具
- B2B营销新策略 | B2B企业如何实现产品导向增长目标(附方案下载)
- Technology Insider | StarRocks Community Champion and Alibaba Cloud technical experts interpret the implementation of Optimizer
猜你喜欢

B2B营销新策略 | B2B企业如何实现产品导向增长目标(附方案下载)

Introducing Inheritance Abstract Classes

arm设备上的嵌入式开发编译环境搭建

龙蜥社区第十次运营委员会议顺利召开!
关于i.MX6ULL配置GPIO

day15--使用postman进行文件的上传与下载

技术内幕 | StarRocks Community Champion、阿里云技术专家解读 Optimizer 实现

乱花渐欲迷人眼?这几招教你正确挑选适合自己的建模软件

使用ComposeDesktop开发一款桌面端多功能APK工具

Chery Arrizo 8 will be officially launched on September 26, and the product lineup will be expanded
随机推荐
Notes of a grandfather who loves watching square dancing----strip command
乱花渐欲迷人眼?这几招教你正确挑选适合自己的建模软件
“Beautiful Sky, Stars Shine.“
Configure MySQL5.7 database under linux (CentOS7) and realize remote access
什么是MySQL表分区?
docker安装postgresql数据库
【kitti】terminate called after throwing an instance of ‘YAML::BadFile‘
PID 控制理论
Technology Insider | StarRocks Community Champion and Alibaba Cloud technical experts interpret the implementation of Optimizer
centos 安装mysql7
MapReduce总结(未完待续)
【PCB开源分享】STC15F2K61S2开发板
使用cpolar优化树莓派上的网页(4)
LightningChart .NET v10.3.2
高并发下秒杀促销活动,你必须知道的9个细节
如何使用Solidity和Hardhat构建你自己的NFT以及NFT交易市场
字符串拼接
如何靠3D建模月入2W+?
Pytest学习-Fixture参数
如何优雅的给 cp 和 mv 命令添加一个高颜值的进度条