qt debug版本打开文件对话框这么慢_Qt轻量级日志库QsLog的使用

C加加下的日志库有很多,如log4cpp、Easylogging++等,Qt下也有log4qt。

不过我们今天要说的是QsLog,它是一个基于Qt的轻量级开源日志库。

git地址:https://github.com/victronenergy/QsLog

轻到什么程度,请看如下:

afb63d53933d4e8508ee68b35c28a9db.png
在这里插入图片描述

代码文件就是这么点。花点时间阅读一下,秒改造成你自己的私有轮子。

虽然轻量级,但是对于基本的日志功能需求还是够用的。

特征

  • 六个日志级别(从跟踪到致命)

  • 运行时可配置的日志级别阈值。

  • 关闭日志记录时的最小开销。

  • 支持多个目标,附带文件和调试目标。

  • 线程安全

  • 支持现成的常见Qt类型的日志记录。

  • 小依赖:直接把它放到你的项目中。

接下来,我们研究下它都有哪些功能。

一、QsLog使用方式

1. 源码集成

在你的工程中,直接包含QsLog.pri文件,进行源码集成。

当然你也可以包含QsLog.pri后,编译为xx.dll,在应用工程中去调用xx.dll。

2. 动态库集成

编译QsLogSharedLibrary.pro,生成动态链接库QsLog2.dll,在你的工程中进行调用。

二、日志级别

支持六个日志级别,优先级从低到高依次为:Trace、Debug、Info、Warn、Error、Fatal、Off。如下:

enum Level
{
    TraceLevel = 0,
    DebugLevel,
    InfoLevel,
    WarnLevel,
    ErrorLevel,
    FatalLevel,
    OffLevel
};
  • Trace:跟踪,最低等级的,用于打开所有日志记录。

  • Debug:调试,打印一些细粒度调试运行信息。

  • Info:信息,打印粗粒度信息,突出强调程序的运行过程。打印一些感兴趣或者重要的信息,可用于环境中输出程序运行的一些重要信息,但不能滥用,避免打印过多日志。

  • Warn:警告,表明会出现潜在错误的情形,有些信息不是错误信息,但是也要给程序员的一些提示。

  • Error:错误,指出虽然发生错误,但仍然不影响系统的继续运行。打印错误和异常信息。

  • Fatal:致命的,发生严重错误,将导致应用程序的退出。这个级别比较高,程序直接停止运行了。

  • Off:最高等级的,用于关闭所有日志记录。

可以通过setLoggingLevel()设置记录日志的级别。

void setLoggingLevel(Level newLevel)

注意:

一般我们可以将日志级别保存到配置文件,以便程序发布后,可通过修改配置来改变记录日志级别。

三、日志输出目的地

QsLog的使用很简单,在我们自己的工程中直接include它的QsLog.pri文件,然后源文件中包含QsLog.h就可以使用了。

1. 输出到文件(支持文件分割)

// 测试文件为目的地
void test_output_file(){
    // 初始化日志机制
    Log
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值