# glog **Repository Path**: qqblack/glog ## Basic Information - **Project Name**: glog - **Description**: C++使用的日志模块。https://github.com/google/glog的镜像。另外添加添加它的visualStudio核心版本(去除了类似于无用的工程,如例程) - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: glog_VS精简版 - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-12-26 - **Last Updated**: 2021-11-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README glog --- 它是google提供的C++日志模块。[github官网](https://github.com/google/glog) # 介绍 本工程侧重于windows平台下,VS开发者的开箱即用 本工程来自于`glog0.4.0`,使用cmake生成VS工程。然后去掉与调用无关的文件(例程、cmake相关文件)。 最简单的glog搭建方法是,使用vcpkg安装即可。详见[日志模块Glog](https://gitee.com/qqblack/CPlus_learning/blob/master/Doc/记录日志/日志模块Glog.md) # 使用 在此处,只介绍`Debug/X64`平台,其他平台自己模仿吧。 * 第一步,下载本仓库本分支、`flags-2.2.0`(VS精简版,也是本仓库的一个分支) * 第二步,修改`gflags-2.0.0`的路径在本工程中的设置。 * (1) 用VS2019打开本sln文件 * (2) 打开属性管理器,在顶部菜单-视图-其他窗口-属性管理器 * (3) 在属性管理器页面,双击打开`Debug| X64`中的`myProperty`,然后在`用户宏`修改宏`gflags-2_0_0-Dir`的实际路径 * 第三步,编译 * 第四步,在自己的C++工程中用起来 * (1) 项目属性-`VC++目录`-`库目录`,添加`$(glog-0_4_0-Dir)\Debug` * (2) 包含目录添加如下内容,可以是项目属性-`VC++目录`-`包含目录`,或者项目属性-`C/C++`-`附加包含目录` ~~~ $(glog-0_4_0-Dir);$(glog-0_4_0-Dir)\src;$(glog-0_4_0-Dir)\src\windows;$(gflags-2_2_0-Dir)\include; ~~~ * (3) 预处理定义添加下面内容(位置,项目属性-`C/C++`-`预处理器`-`预处理定义`) ~~~ GFLAGS_DLL_DECLARE_FLAG= GFLAGS_DLL_DEFINE_FLAG= GLOG_NO_ABBREVIATED_SEVERITIES GOOGLE_GLOG_DLL_DECL= GFLAGS_IS_A_DLL=0 ~~~ * (4)工程属性-`链接器`-`输入`-`附加依赖项`,添加下面内容 ~~~ $(glog-0_4_0-Dir)\Debug\glogd.lib dbghelp.lib $(gflags-2_2_0-Dir)\lib\Debug\gflags_static.lib shlwapi.lib ~~~ * (5)好了,可以开开心心用了。方面放一个案例 ~~~C++ #include #include #include "glog/logging.h" int main() { google::InitGoogleLogging("myLog"); google::SetLogDestination(google::GLOG_INFO, "E://"); // 设置日志路径 // ... char str[20] = "hello log!"; LOG(INFO) << "Found " << google::COUNTER << std::endl; LOG(INFO) << str; // Info日志(输出到文件) LOG(WARNING) << "warning test"; // Warning日志(输出到文件) LOG(ERROR) << "error test"; // Error日志(输出到文件、控制台) LOG(ERROR) << "错误测试"; return 0; } ~~~