在Window系统环境下,使用Visual Studio作为开发工具,当使用ceres-solver等库时,常用于一glog库作为日志库。本文就针对于win10系统下,如何配置使用glog,作一下总结。
1 编译库
首先,自行编译glog库,编译成静态库或动态库都可。
2 配置库
- 在vs的工程属性,VC++目录中添加包含目录,库目录,分别指向glog库的头文件路径及库文件路径。
- 在C/C++项中的预处理器添加下面两个宏定义
GLOG_NO_ABBREVIATED_SEVERITIES
GOOGLE_GLOG_DLL_DECL=
- 在链接器项的输入中,添加glog库的名称。
3 使用示例
- 添加头文件
#include <glog/logging.h>
- 在程序入口中,配置日志相关
//设置日志
google::SetLogDestination(google::GLOG_INFO, "./log");
FLAGS_log_dir = "./Logs";
google::InitGoogleLogging(argv[0]);
google::SetLogDestination(google::GLOG_INFO, "./Logs/INFO_");
google::SetLogDestination(google::GLOG_WARNING, "./Logs/WARNING_");
google::SetLogDestination(google::GLOG_ERROR, "./Logs/ERROR_");
google::SetStderrLogging(google::GLOG_FATAL); //设置不低于google::GLOG_FATAL级别的日志输出在控
FLAGS_colorlogtostderr = true; //设置日志输出颜色
FLAGS_logbufsecs = 0; // Set log output speed(s)
FLAGS_max_log_size = 1024; // Set max log file size
FLAGS_alsologtostderr = 1; //打印到日志同时是否打印到控制台
FLAGS_stop_logging_if_full_disk = true; // If disk is full
- 打印日志
LOG(INF) << "INFO ";
LOG(ERROR) << "ERROR";
LOG(WARNING) <<"WARNING";
- 在程序结束时关闭
google::ShutdownGoogleLogging();