glog初始化和反初始化处理
//glog_common.h 自定义头文件,包装glog初始化和反初始化操作 #pragma once #include <direct.h> #define GLOG_NO_ABBREVIATED_SEVERITIES #define GOOGLE_GLOG_DLL_DECL #include "glog/logging.h" #include "glog/log_severity.h" typedef struct GLOG_MYAUTO { GLOG_MYAUTO() { _mkdir("log"); FLAGS_log_dir = "log\"; google::InitGoogleLogging("log\"); google::SetLogDestination(google::GLOG_INFO, "log\"); google::SetLogFilenameExtension("INFO"); FLAGS_max_log_size = 1024; // Set max log file size FLAGS_stop_logging_if_full_disk = true; // If disk is full } ~GLOG_MYAUTO() { google::ShutdownGoogleLogging(); } }GLOG_MYAUTO; static GLOG_MYAUTO g_glog_user; //用法示例 //char str[20] = "hello log!"; //LOG(INFO) << str; ////输出一个Info日志 //LOG(INFO) << "info test" << "hello log!"; ////输出一个Warning日志 //LOG(WARNING) << "warning test"; ////输出一个Error日志 //LOG(ERROR) << "error test";
通过静态变量完成glog相关的初始化和反初始化操作,使用时只需 包含glog_common.h
// glog_test.cpp : 定义控制台应用程序的入口点。 #include "stdafx.h" #include <string> #include "glog_common.h" int main(int argc, char* argv[]) { char str[20] = "hello log!"; LOG(INFO) << str; LOG(INFO) << "info test" << "hello log!"; //输出一个Info日志 LOG(WARNING) << "warning test"; //输出一个Warning日志 LOG(ERROR) << "error test"; //输出一个Error日志 return 0; }