linux glog安装使用
简介
glog 是Google Logging的缩写,是实现了应用级别的日志记录功能的满足C++98标准的库。
安装
安装gflags
# git clone https://github.com/gflags/gflags.git
git clone https://gitcode.net/mirrors/gflags/gflags.git
mkdir build
cd build
cmake -DCMAKE_CXX_FLAGS=-fPIC ..
make
sudo make install
安装gtest
# git clone https://github.com/google/googletest.git
git clone https://gitcode.net/mirrors/google/googletest.git
mkdir build
cd build
cmake ..
make
sudo make install
下载glog源码
git clone https://github.com/google/glog.git
使用cmake 编译
cd glog
cmake -S . -B build -G "Unix Makefiles"
cmake --build build
安装
# 测试编译情况,可省略
cmake --build build --target test# 安装
cmake --build build --target install
使用
CMakeLists.txt文件修改
cmake_minimum_required (VERSION 3.16)
project (myproj VERSION 1.0)# find package
find_package (glog 0.6.0 REQUIRED)add_executable(${PROJECT_NAME}, main.cpp)# link
target_link_libraries (${PROJECT_NAME} glog::glog)
main.cpp修改
// 包含头文件
#include <glog/logging.h>// main函数初始化
google::InitGoogleLogging(argv[0]);
使用
标准输出默认只打印ERROR和FATAL级别的信息。默认生成的全部log位于/tmp目录下。
LOG(INFO) << "TESTMESSAGE INFO" << std::endl;
LOG(WARNING) << "TESTMESSAGE WARNING" << std::endl;
LOG(ERROR) << "TESTMESSAGE ERROR" << std::endl;
LOG(FATAL) << "TESTMESSAGE FATAL" << std::endl;// 默认生成的log位于/tmp目录下
每一行的结尾的 std::endl 可以省略,默认会加换行。
控制台打印
将GLOG_logtostderr设为1,则只会在控制台打印,不会保存在文件。反之设为0,只会保存到文件。
GLOG_logtostderr=1 ./build/mypoj
在程序中设置FLAGS_logtostderr=1也可以打印到控制台。
设置保存的log文件目录
需要在初始化前设置。如果某一级别的路径设为空字符串即""则不会保存该级别的log。
std::string logPath = "./logs/";
std::string logInfoPath = logPath + "info/";
std::string logWarningPath = logPath + "warning/";
std::string logErrorPath = logPath + "error/";
std::string logFatalPath = logPath + "fatal/";// set before InitGoogleLogging
google::SetLogDestination(google::GLOG_INFO, logInfoPath.c_str());
google::SetLogDestination(google::GLOG_WARNING, logWarningPath.c_str());
google::SetLogDestination(google::GLOG_ERROR, logErrorPath.c_str());
google::SetLogDestination(google::GLOG_FATAL, logFatalPath.c_str()); google::InitGoogleLogging(argv[0]);
INFO级别文件内容格式
Log file created at: yyyy/mm/dd hh:mm:ss
Running on machine: pc
Running duration (h:mm:ss): 0:00:00
Log line format: [IWEF]yyyymmdd hh:mm:ss.uuuuuu threadid file:line] msg
I20230213 11:30:26.891336 2145 main.cpp:65] TESTMESSAGE INFO
W20230213 11:30:26.891638 2145 main.cpp:66] TESTMESSAGE WARNING
E20230213 11:30:26.891757 2145 main.cpp:67] TESTMESSAGE ERROR
F20230213 11:30:26.891894 2145 main.cpp:68] TESTMESSAGE FATAL
linux glog安装使用相关推荐
- 无法使用_解决kali linux 2020 安装完后发现无法使用 ifconfig
鱼蛋计算机交流群总部: 606219746 鱼蛋计算机交流分群002: 212088123 鱼蛋计算机交流分群003: 1020025486 鱼蛋计算机交流分群004:1158384728 (建议加此 ...
- linux编译安装jpeg,Linux下JPEG库安装脚本(转)
Linux下JPEG库安装脚本(转)[@more@]该脚本用于在Linux下安装JPEG库,在安装GD库的时候如果没有JPEG库,GD将不能生成JPEG格式的图象. 作者: 何志强#----where ...
- Python基础学习1(Python的Windows和Linux的安装及简单学习)
一Python的安装 1.Windows下安装Python (1)windows 命令行的几个常见的命令 dir:查看当前目录下的所有文件,以及目录 cd + NAME:进入到NAME目录下(tab键 ...
- linux valgrind 安装和使用
linux valgrind 安装和使用 安装过程没这么复杂. 直接命令行: sudo apt-get install valgrind Valgrind 是个开源的工具,功能很多.例如检查内存泄漏工 ...
- linux命令安装组件,Linux安装各种组件
[TOC] Linux安装各种组件 ============================= ## 安装JDK 官网下载最新JDK ``` http://www.oracle.com/technet ...
- linux上安装mysql,tomcat,jdk
Linux 上安装 1 安装jdk 检测是否安装了jdk 运行 java –version 若有 需要将其卸载 a) 查看安装哪些jdk rmp –qa |grep java b) ...
- linux下安装sbt_如何在Linux上安装SBT
linux下安装sbt 介绍 (Introduction) Hi! I am Sanjula, and in this guide I hope to teach you how to install ...
- Kali Linux攻防系统(一:攻防系统Kali Linux下载安装与更新)
任务一:攻防系统Kali Linux下载安装与更新 1.1.安装Kali Linux虚拟机 1.1.1.电脑硬件配置至少达到 CPU 内存 存储 >四核 >4G >20G 1.1.2 ...
- shell中竖线的作用_如何在 Linux 中安装、配置和使用 Fish Shell?
每个 Linux 管理员都可能听到过 shell 这个词.你知道什么是 shell 吗? 你知道 shell 在 Linux 中的作用是什么吗? Linux 中有多少个 shell 可用? -- Ma ...
最新文章
- 【css】padding 和 margin的区别
- 一个推荐系统,实现完整的设计-在百度搜索关键词推荐案例
- 静态方法、类方法、属性方法
- 站长如何短线操作实现盈利
- ListIterator特有的方法
- C语言笔记:格式化输入输出(fprintf、fscanf、sscanf...)
- flatpickr功能强大的日期时间选择器插件
- python十个运维实战项目_干货 | 这4个Python实战项目,让你瞬间读懂Python!
- C/C++ Memory Layout
- 波特率、发送/接收时钟、波特率因子、传输距离
- indesign软件教程,如何更改内容颜色?
- Ubuntu下Chrome打不开解决办法
- B站 汇编语言 视频 教程
- 中文如何翻译成英文?手机中英文一键翻译超简单
- cl 7ar xyz index php,GIF 文件格式分析 -- chinawrc的世界 -- [北方博客].mht
- 【量化投资】策略二(聚宽)
- Logstash 原理分析/配置文件详解 时间 日期 时区 ip 反斜杠 grok在线地址 类型转换
- 交互式可视化报表怎么弄?看过来!
- FASTX-Toolkit
- (附Matlab程序)(二)基于DCT编码的图像压缩:对分解后的每个数据小方块进行DCT及IDCT变换