ubutun16.04 安装编译glog日志库

glog 是一个 C++ 日志库,它提供 C++ 流式风格的 API。在安装 glog 之前需要先安装 gflags,这样 glog 就可以使用 gflags 去解析命令行参数(可以参见 gflags 安装教程)。下面是 glog 的安装步骤:

安装方式一,下载原始代码编译:

$ git clone https://github.com/google/glog.git
$ cd glog
$ mkdir build
$ cmake ..
$ make
$ sudo make install

安装之后要怎么使用 glog 呢?如果程序是使用 CMake 构建的,那么只要在 CMakeListsx.txt 里面加上下面几行配置就可以了:

find_package (glog 0.3.5 REQUIRED)
add_executable (main main.cpp)
target_link_libraries (main glog::glog)

安装方式二,直接安装:

sudo apt-get install libgoogle-glog-dev

若是使用第二种方式安装的glog,如果程序是使用 CMake 构建的, CMakeListsx.txt 的配置会不同:

首先需要有CMake能找的到的FindGlog.cmake文件,这个文件在Google上可以找的到,见 Glog使用文档:

 

Example:

int main(int argc, char* argv[])
{
    string home = "./log/";  //要先创建此目录,否则运行报错.
  
    google::InitGoogleLogging(argv[0]);

    string info_log = home + "master_info_";
    google::SetLogDestination(google::INFO, info_log.c_str());

    string warning_log = home + "master_warning_";
    google::SetLogDestination(google::WARNING, warning_log.c_str());

    string error_log = home + "master_error_";
    google::SetLogDestination(google::ERROR, error_log.c_str());

    string fatal_log = home + "master_fatal_";
    google::SetLogDestination(google::FATAL, fatal_log.c_str());

    // You can specify one of the following severity levels (in increasing order of severity)
    LOG(INFO) << "info";
    LOG(WARNING) << "warning";
    LOG(ERROR) << "error";
    LOG(FATAL) << "fatal";   // Logging a FATAL message terminates the program (after the message is logged)!

    return 0;
}

 分别会在./log目录下生成4个log文件。只需要在main函数中初始化一次,便可以在该工程中的其他文件中使用!哪个文件需要写日志,只需要引用头文件#include "glog/logging.h"即可

posted @ 2019-05-02 21:21  SuperVan  阅读(4807)  评论(0编辑  收藏  举报