glog repo: https://github.com/google/glog
clone代码之后,可以使用CMake进行编译, 使用vs2019编译后,会产生include lib dll, 在项目中包含之后就可以使用了。
也可以直接使用vcpkg进行安装
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)
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?