ubuntu 下使用glog管理日志

文章目录

安装

  • 更新包列表,安装glog
ssh 复制代码
sudo apt-get update
sudo apt-get install libgoogle-glog-dev

配置

  • 采用cmakelist的话,直接在target_link_libraries中加入glog即可,无需多做处理。

使用

cpp 复制代码
#include "glog/logging.h"

void initGlog(const char *arg)
{
    auto ErrorCallback = [](const char *data, int size)
    {    std::string ss(data, size - 1);
    LOG(ERROR) << ss; };
    google::InitGoogleLogging(arg);               // 函数来初始化glog
    google::InstallFailureSignalHandler();        // 当程序遇到如SIGSEGV(段错误)这样的致命信号时,glog会打印出当前的堆栈跟踪。
    google::InstallFailureWriter(ErrorCallback);  // 当程序失败时,ErrorCallback 将被调用,从而记录错误信息。
    FLAGS_alsologtostderr = true;                 // 除了将日志信息写入文件之外,还会将日志信息输出到标准错误(stderr)。
    FLAGS_colorlogtostderr = true;                // 让输出到标准错误的日志信息带有颜色,便于区分不同的日志级别。
    FLAGS_logbuflevel = google::INFO;             // 日志缓冲区中的日志级别至少为INFO,低于INFO级别的日志将被立即输出,而INFO及以上级别的日志可能会被缓冲。
    mkdir("./logs", S_IRWXU | S_IRWXG | S_IRWXO); // 使用 mkdir 系统调用创建一个名为 logs 的目录,用于存放日志文件
    FLAGS_log_dir = "./logs";                     // 设置 FLAGS_log_dir 标志,指定日志文件的存放目录为 ./logs
}

int main(int argc, char* argv[])
{
  initGlog(argv[0]);
  // 输出日志
  LOG(INFO) << "This is an info message";
  LOG(WARNING) << "This is a warning message";
  LOG(ERROR) << "This is an error message";
  google::ShutdownGoogleLogging();
  return 0;
}
相关推荐
zach1 小时前
前端落地实战:Next.js 项目 Nginx + PM2 生产部署全流程(附踩坑总结)
前端·pm2·next.js
overmind1 小时前
oeasy教h5前端001 修改的乐趣_直接修改在线网页
前端
只睡四小时1 小时前
JS 手写 D-pad 空间导航:电视端焦点引擎实战
android·开发语言·前端·javascript·ecmascript·hls·空间导航
恋猫de小郭1 小时前
Android 原生的 Compose A2UI 也来了,你还抱着 XML 养老吗?
android·前端·flutter
庄园特聘拆椅狂魔1 小时前
从连连看到粒子消散——前端小游戏与视觉特效的技术选型
前端
技术人生0012 小时前
VMware Workstation 安装 Ubuntu 24.04 LTS 完整教程
运维·服务器·ubuntu
JudithHuang2 小时前
React 常用 Hooks
前端·react.js·前端框架
sycmancia3 小时前
Qml——Window元素使用
前端
每天都好困3 小时前
03 AR 投影与误差修正:把地图上的点贴到视频画面上
前端
每天都好困3 小时前
04 地图图层封装:像管理 Photoshop 图层一样管理地图元素
前端