跳过正文

C++日志库glog简介

Glog Google

今天给大家介绍一下 Google 的 glog,真的是一个非常棒的日志库,目前已经有 7000+ star。

Google Logging Library

下面是该库的一些简单介绍

glog 是为了提供高性能的日志记录而设计的,是为了尽可能减少对程序性能的影响。

该库多个日志级别,可以根据需求选择适当的级别记录日志信息,方便调试和排查问题。

另外 glog 被设计为多线程安全的,可以在多线程环境下安全地使用,避免日志输出竞争条件。

该库支持根据文件大小或时间等条件自动切换日志文件,避免单个日志文件过大。可以自定义日志的格式,包括时间戳、日志级别、文件名、行号等信息,满足不同需求。

glog 可以记录发生日志记录的位置的栈跟踪信息,有助于定位问题。

另外该库还是跨平台的可以在多个操作系统上运行,包括 Linux、Windows、Mac 等。

以下是一个简单的代码示例

#include <glog/logging.h>

int main(int argc, char* argv[]) {
    // 初始化
    google::InitGoogleLogging(argv[0]);
    
    google::SetLogDestination(google::GLOG_INFO, "logs/info_");
    google::SetLogDestination(google::GLOG_WARNING, "logs/warning_");
    google::SetLogDestination(google::GLOG_ERROR, "logs/error_");
    google::SetLogDestination(google::GLOG_FATAL, "logs/fatal_");

    LOG(INFO) << "这是一个信息日志";
    LOG(WARNING) << "这是一个警告日志";
    LOG(ERROR) << "这是一个错误日志";

    LOG(FATAL) << "这是一个致命错误日志,程序将终止";
    // 关闭 Google 日志库
    google::ShutdownGoogleLogging();
    return 0;
}

相关文章

Google发布开源AI文本水印工具
Google Synthid Watermarking
数据中心GPU的寿命最多只有3年
Google GPU H100
Linux下的docker端口映射
Docker Linux