您当前的位置: 首页 >  c++

令狐掌门

暂无认证

  • 2浏览

    0关注

    513博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

C++ glog使用教程与代码演示

令狐掌门 发布时间:2022-05-30 12:28:06 ,浏览量:2

glog repo: https://github.com/google/glog

clone代码之后,可以使用CMake进行编译, 在这里插入图片描述 使用vs2019编译后,会产生include lib dll, 在项目中包含之后就可以使用了。

也可以直接使用vcpkg进行安装 在这里插入图片描述

glog的日志级别

glog 支持四种日志级别,INFO、WARNING、ERROR和FATAL。不同级别的日志信息会输出到不同文件,同时高级别的日志也会写入到低级别中。默认情况下,在打印完FATAL日志之后,程序将会终止。ERROR和FATAL的日志除了会写到日志中,还会输出到 stderr。

enum SeverityLevel
{
  google::INFO = 0,
  google::WARNING = 1,
  google::ERROR = 2,
  google::FATAL = 3,
};
日志格式

日志格式:I+日期 时:分:秒.微秒 线程号 源文件名:行数] 信息

设置输出到指定目录
// 设置特定严重级别的日志的输出目录和前缀
// 第一个参数为日志级别,第二个参数表示输出目录及日志文件名前缀
google::SetLogDestination(google::GLOG_INFO, "D:/glog_path/INFO_");  
google::SetLogDestination(google::GLOG_WARNING, "D:/glog_path/WARNING_");
google::SetLogDestination(google::GLOG_ERROR, "D:/glog_path/ERROR_");
google::SetLogDestination(google::GLOG_FATAL, "D:/glog_path/FATAL_");

//在日志文件名中级别后添加一个扩展名
google::SetLogFilenameExtension(".log");  
示例代码
// glog_test.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#define GLOG_NO_ABBREVIATED_SEVERITIES

#include 
#include 

int main()
{
	google::InitGoogleLogging("");

	// 设置特定严重级别的日志的输出目录和前缀
	// 第一个参数为日志级别,第二个参数表示输出目录及日志文件名前缀
	google::SetLogDestination(google::GLOG_INFO, "D:/glog_path/INFO_");  
	google::SetLogDestination(google::GLOG_WARNING, "D:/glog_path/WARNING_");
	google::SetLogDestination(google::GLOG_ERROR, "D:/glog_path/ERROR_");
	google::SetLogDestination(google::GLOG_FATAL, "D:/glog_path/FATAL_");

	//在日志文件名中级别后添加一个扩展名。适用于所有严重级别
	google::SetLogFilenameExtension(".log");  

	//大于指定级别的日志都输出到标准输出
	google::SetStderrLogging(google::GLOG_INFO);      

	//实时输出日志
	FLAGS_logbufsecs = 0;

	//最大日志大小(MB)
	FLAGS_max_log_size = 100;

	FLAGS_colorlogtostderr = true;    //设置输出到屏幕的日志显示相应颜色

	int num_cookies = 11;
	int size = 123;

	//当条件满足时输出日志
	LOG_IF(INFO, num_cookies > 10)             
关注
打赏
1652240117
查看更多评论
0.0390s