Glog使用

来源:互联网 发布:mysql获取当前毫秒 编辑:程序博客网 时间:2024/06/11 18:53

请先设置环境变量

export LOGPATH=/home/***/Log

下面是glog的一些封装:

//MyLog.h
#ifndef __MY_LOG_H_#define __MY_LOG_H_//GLog#include <glog/logging.h>#include <string>//Glog#define LOG_INFO LOG(INFO)#define LOG_WARN LOG(WARNING)#define LOG_ERROR LOG(ERROR)#define LOG_FATAL LOG(FATAL)static void INITIALIZE_LOG(char * filename){google::InitGoogleLogging(filename);FLAGS_logtostderr = 0;//是否打印到控制台FLAGS_alsologtostderr=0;//打印到日志同时是否打印到控制台FLAGS_stderrthreshold=google::FATAL;//需要打印到控制台的日志级别FLAGS_minloglevel=0;//string t_strLogPath = getenv("LOGPATH");FLAGS_log_dir = t_strLogPath;string t_strInfoName, t_strWarningName, t_strErrorName, t_strFatalName;#ifdef FLAGS_INFO //info以上单日志t_strInfoName=t_strInfoName+FLAGS_log_dir+"/"+filename+".info.";#elif FLAGS_WARNING //waring以上单日志t_strWarningName=t_strWarningName+FLAGS_log_dir+"/"+filename+".warning.";#elif FLAGS_ERROR //error以上单日志t_strErrorName=t_strErrorName+FLAGS_log_dir+"/"+filename+".error.";#elif FLAGS_FATAL //fatal以上单日志t_strFatalName=t_strFatalName+FLAGS_log_dir+"/"+filename+".fatal.";#elif FLAGS_ALL //各级别分别日志t_strInfoName=t_strInfoName+FLAGS_log_dir+"/"+filename+".info.";t_strWarningName=t_strWarningName+FLAGS_log_dir+"/"+filename+".warning.";t_strErrorName=t_strErrorName+FLAGS_log_dir+"/"+filename+".error.";t_strFatalName=t_strFatalName+FLAGS_log_dir+"/"+filename+".fatal.";#else //默认INFO单日志t_strInfoName=t_strInfoName+FLAGS_log_dir+"/"+filename+".info.";#endif google::SetLogDestination(google::INFO, t_strInfoName.c_str());google::SetLogDestination(google::WARNING, t_strWarningName.c_str());google::SetLogDestination(google::ERROR, t_strErrorName.c_str());google::SetLogDestination(google::FATAL, t_strFatalName.c_str());}#endif


上述头文件使用例子:

#include "../../stdafx.h"#define FLAGS_INFO#include "../../MyLog.h"int main(int argc, char* argv[]) {    // Initialize Google's logging library.INITIALIZE_LOG(argv[0]);LOG_INFO << "Hello1, Glog!";LOG_ERROR << "Hello2, Glog!";//LOG_FATAL << "Hello3, Glog!";}


编译:

 g++ TestGlog.cpp -omain -lglog

0 0