当前位置: 首页 > article >正文

Qt--利用easyloggingpp库打印日志

提示:本文为学习内容,若有错误,请联系作者,谦虚受教。

文章目录

  • 前言
  • 一、下载地址
  • 二、使用步骤
    • 1.引入库
    • 2.使用步骤
    • 3.切换类型
  • 总结


前言

为了在QT实现日志的打印,利用easyloggingpp库这个开源库,可自定义生成不同的日志文件,便于后续开发过程中查找问题点。


一、下载地址

easyloggingpp 下载地址

二、使用步骤

1.引入库

将库目录下的src的.cc和.h文件添加到工程中
在这里插入图片描述

2.使用步骤

步骤一:
在main.cpp

#include “easylogging++.h” //easylogging++.h头文件
//使用宏 INITIALIZE_EASYLOGGINGPP 初始化
INITIALIZE_EASYLOGGINGPP
int main(){
.............
/// 同时使用 START_EASYLOGGINGPP 才能使用Unicode 
START_EASYLOGGINGPP(argc, argv);

el::Configurations conf("log.conf");
el::Loggers::reconfigureAllLoggers(conf);
 
/// 防止Fatal级别日志中断程序
el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);	
/// 选择划分级别的日志	
el::Loggers::addFlag(el::LoggingFlag::HierarchicalLogging);				
/// 设置级别门阀值,修改参数可以控制日志输出
el::Loggers::setLoggingLevel(el::Level::Global);

..............

}

步骤二:
在easylogging++.cc文件中添加宏定义
#define ELPP_NO_DEFAULT_LOG_FILE
保证不生成myeasy.log文件,可自定义文件路径和文件名

步骤三:
添加自定义的log.conf文件

* GLOBAL:  
    ENABLED                 =   true  
    TO_FILE                 =   true  
    TO_STANDARD_OUTPUT      =   true  
    FORMAT                  =   "[%level | %datetime] | %msg"  
    FILENAME                =   "log\\log_%datetime{%Y%M%d}.log"  
    MILLISECONDS_WIDTH      =   3  
    PERFORMANCE_TRACKING    =   false  
    MAX_LOG_FILE_SIZE       =   1048576  
    LOG_FLUSH_THRESHOLD     =   0  
      
* TRACE:  
    FILENAME                =   "log\\trace_log_%datetime{%Y%M%d}.log"  
      
* DEBUG:  
    FILENAME                =   "log\\debug_log_%datetime{%Y%M%d}.log"  
      
* FATAL:  
    ENABLED                 =   false  
      
* ERROR:  
    FILENAME                =   "log\\error_log_%datetime{%Y%M%d}.log"  
      
* WARNING:  
    FILENAME                =   "log\\warning_log_%datetime{%Y%M%d}.log"  
      
* INFO:  
    FILENAME                =   "log\\info_log_%datetime{%Y%M%d}.log"  
      
* VERBOSE:  
    ENABLED                 =   false 

步骤四:
划分不同的日志等级

/// 防止Fatal级别日志中断程序
	el::Loggers::addFlag(el::LoggingFlag::DisableApplicationAbortOnFatalLog);	
	/// 选择划分级别的日志	
	el::Loggers::addFlag(el::LoggingFlag::HierarchicalLogging);				
	/// 设置级别门阀值,修改参数可以控制日志输出
	el::Loggers::setLoggingLevel(el::Level::Global);

3.切换类型

在这里插入图片描述

总结

善于总结,多进一步。


http://www.kler.cn/news/365359.html

相关文章:

  • 分页列表缓存
  • C++ 模版和继承
  • 论文笔记:通用世界模型WorldDreamer
  • 汽车级DC-DC转换器英飞凌TLF35584
  • 【Javaee】网络原理—TCP协议的核心机制
  • 专业135+总分400+西安交通大学815869(原909)信号与系统考研经验电子信息与通信工程,真题,大纲,参考书
  • 3D、VR、AR技术的应用,对家电品牌营销有哪些影响?
  • 强化学习与GPT-o1模型的融合,强化学习对GPT-o1模型思维链能力的影响
  • 使用Python来下一场深夜雪
  • Java面试题四
  • [bug] vllm 0.6.1 RuntimeError: operator torchvision::nms does not exist
  • web网站搭建(静态)
  • 学习webservice的心得
  • 国外LEAD赚美金Voice保号教程
  • bios设置后cpu虚拟化仍禁用
  • 商品详情数据API接口,多种语言请求示例
  • 使用Spring Boot和Micrometer实现交易度量监控
  • 第二代 GPT-SoVITS V2:解锁语音克隆与合成的无限可能
  • R语言机器学习遥感数据处理与模型空间预测技术及实际项目案例分析
  • 设置K8s管理节点异常容忍时间
  • UML外卖系统报告(包含具体需求分析)
  • Qt学习笔记(二)Qt 信号与槽
  • sqli-labs靶场安装以及刷题记录-docker
  • 应用假死?
  • HTTP和HTTPS基本概念,主要区别,应用场景
  • 华为配置 之 IPv6路由配置