glog简单使用

Posted zjutzz

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了glog简单使用相关的知识,希望对你有一定的参考价值。

编译安装

当前(2019-7-4)glog最新版为0.4.0。

glog依赖gflags,先用cmake编译安装了gflags 2.2.2,再用cmake编译安装glog。

在项目中find_package(glog)时候,glog会找编译它时相同版本的gflags。

build-farm/vs2013-x64.bat

@echo off

set BUILD_DIR=vs2013-x64
set BUILD_PLATFORM=x64
set BUILD_COMPILER=vc12

if not exist %BUILD_DIR% md %BUILD_DIR%

cd %BUILD_DIR%

cmake -G "Visual Studio 12 2013 Win64" ^
    -DCMAKE_INSTALL_PREFIX=D:/lib/glog/0.4.0/%BUILD_PLATFORM%/%BUILD_COMPILER% ^
    ../..

cmake --build . --config Release --target install
cmake --build . --config Debug --target install

cd ..

pause

简单使用

CMakeLists.txt

cmake_minimum_required(VERSION 3.14)

project(example)

set(GFLAGS_DIR "D:/lib/gflags/2.2.2/x64/vc12/lib/cmake/gflags")
set(GLOG_DIR "D:/lib/glog/0.4.0/x64/vc12/lib/cmake/glog")

find_package(glog 0.4.0 REQUIRED)
add_executable(glog_example src/glog_example.cpp)
target_link_libraries(glog_example glog::glog)

src/glog_example.cpp

#include <gflags/gflags.h>
#include <glog/logging.h>
#include <glog/stl_logging.h>

int main(int argc, char* argv[]) 

  // Initialize Google's logging library.
  google::InitGoogleLogging(argv[0]);

  // Optional: parse command line flags
  //gflags::ParseCommandLineFlags(&argc, &argv, true);
  //FLAGS_logtostderr = 1;
  FLAGS_log_dir = "F:/zhangzhuo/debug/glog";

  LOG(INFO) << "Hello, world!";

  // glog/stl_logging.h allows logging STL containers.
  std::vector<int> x;
  x.push_back(1);
  x.push_back(2);
  x.push_back(3);
  LOG(INFO) << "ABC, it's easy as " << x;

  printf("hi, this is printed out from printf() \n");

  return 0;

说明:

  • FLAGS_logtostderr = 1;:输出内容到屏幕,则不产生日志文件。
  • FLAGS_log_dir指定日志文件目录,windows下不指定的话,我没找到日志文件在哪里

以上是关于glog简单使用的主要内容,如果未能解决你的问题,请参考以下文章

glog安装(转载)

安装folly库以及folly的ConcurrentHashMap的简单使用

Qt自定义控件之日志控件

glog的编译和使用

Google-GLog编译以及使用

谷歌日志库GLog 使用说明