Glog使用 | Word count: 291 | Reading time: 1min
This repository contains a C++ implementation of the Google logging module.
Glog源码下载 访问Glog官网:https://github.com/google/glog 。
Glog动态库调用 demo加载动态库 demo.c 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 typedef int (*FuncType_DtuDrvInit) (void * param) ;void * LoadDLL (const char * dllname) { void * ret = dlopen(dllname, RTLD_GLOBAL | RTLD_LAZY); const char * error = dlerror(); if (error) { printf ("dlopen(%s) error(%s) \r\n" , dllname, error); } return ret; } void * GetDLLAPI (void * Handle, const char * ApiName) { void * ret = (void *)dlsym(Handle, ApiName); const char * error = dlerror(); if (error) { printf ("dlsym(%s) error(%s) \r\n" , ApiName, error); } return ret; } int UnLoadDLL (void * Handle) { return dlclose(Handle); } int main (int argc, char * argv[]) { LoadDLL("libpthread.so.0" ); LoadDLL("libglog.so.0" ); LoadDLL("libjsoncpp.so" ); LoadDLL("./libboost_system.so.1.68.0" ); LoadDLL("./libboost_regex.so.1.68.0" ); LoadDLL("./libftp.so.2.0" ); void * handle = LoadDLL("./libdtu.so.1" ); FuncType_DtuDrvInit DtuDrvInit = GetDLLAPI(handle, "DtuDrvInit" ); DTU_PARAM_T param; strcpy (param.config_path, "./dtu.json" ); DtuDrvInit(¶m); while (1 ) { sleep(1 ); } exit : UnLoadDLL(handle); return 0 ; }
Glog初始化 GlogConfigApi.cpp 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 google::InitGoogleLogging("Project name" ); if (data_center->log_level_ == "INFO" ) FLAGS_stderrthreshold = google::GLOG_INFO; else if (data_center->log_level_ == "WARNING" ) FLAGS_stderrthreshold = google::GLOG_WARNING; else if (data_center->log_level_ == "ERROR" ) FLAGS_stderrthreshold = google::GLOG_ERROR; else if (data_center->log_level_ == "FATAL" ) FLAGS_stderrthreshold = google::GLOG_FATAL; else FLAGS_stderrthreshold = google::GLOG_INFO; FLAGS_log_dir = Glog save path; FLAGS_logbufsecs = 0 ; FLAGS_max_log_size = 6 ; FLAGS_colorlogtostderr = true ;