Qt下一行代码就可以使用的稳定易用的日志类

此日志类是基于Qt 自带的 扩展的一个易用的日志类,
使用的是Qt自带的日志输出形式, 已长期运行在许多实际项目中,稳定可靠,而且跨平台,
在windows和linux 上都能稳定运行

百度云盘下载链接:https://pan.baidu.com/s/1PU1h4LrUmb5camSBON7Gxg
提取码:v17m

默认日志文件配置:

  • 默认debug等级
  • 每天重新生成一个文件,
  • 文件超过40MB时重新生成一个文件,
  • 文件数量最多10个,超过十个则保留时间最近的10个

文件名称:

  • appName_2020_05_13_18_01_48.log

使用说明:

    //日志等级enum DB_LOG_LEVEL{LOG_DEBUG = 1,          //调试等级LOG_INFO,                     //正常等级LOG_WARNING,              //只输出警告以上LOG_ERROR                  //只输出错误以上};

使用方法

在任意地方调用初始化,初始化之后才可输出日志到文件

DBLog::getInstance()->init();                 //初始化

外部获取日志信息

//绑定日志输出的信号到界面窗口显示connect(DBLog::getInstance(), &DBLog::signalOutputLog, this, &MainWindow::sigLOG);

设置日志配置参数

    DBLog::logConfig logConfig;logConfig.level =  DBLog::DB_LOG_LEVEL::LOG_INFO;logConfig.createDays = 1;           //日志文件创建频率、天logConfig.fileMaxCount = 20;        //日志文件最多个数个、个logConfig.fileMaxSizeMB = 50;  //日志文件最大大小、MBDBLog::getInstance()->setlogConfig(logConfig);              //设置日志配置

获取日志等级

DBLog::getInstance()->getLogLevel();

手动同步日志缓存到日志文件中(正常使用无需调用,频繁调用会影响程序运行效率)

DBLog::getInstance()->flushLogToFile();

头文件概览

/** ******************************************************** @brief      :公共的日志输出类* @author     :zhongyl* @date       :2019-06-13* @version    :v1.0* @warning    :* @note       :使用标准的qt 日志输出方式,日志等级、文件大小、个数,自动创建文件时间等均可配置*                使用方法:*                1、初始化*                DBLog::getInstance()->setlogConfig(logConfig);     //如果需要自定义日志配置、可省略*                DBLog::getInstance()->init();                  //初始化*                2、日志输出示例:*                qDebug()<<"hello world";*                qInfo()<<"hello world";*                qInfo("hello world");**               日志输出定级:*               qDebug()<<调试日志, 用于打印调试信息,和一些数据的详细信息,正常不显示,*               对应解决问题增加的调试信息应该 在问题关闭之后取出*               qInfo()<<日常消息, 程序运行正常下应该显示的一些状态信息,*               qWaring()<<警告消息, 一些导致程序运行状态异常,  但是不影响程序主要功能继续的故障*               qCritical()<<临界消息, 一些导致程序运行异常, 无法继续正常运行,主要功能瘫痪的故障*               qFatal(“崩溃消息, 一些导致程序直接崩溃, 无法运行的的故障”)
******************************************************** **/
class DBLog : public QObject
{Q_OBJECT
public://日志等级enum DB_LOG_LEVEL{LOG_DEBUG = 1,LOG_INFO,LOG_WARNING,LOG_ERROR};struct logConfig{int level;          //日志等级int createDays;     //日志文件创建频率(天)int fileMaxSizeMB;  //日志文件最大大小(Mb)int fileMaxCount;   //日志文件最大个数logConfig() = default;};
public:static DBLog* getInstance();/*** @brief setlogConfig 设置日志参数* @param logInfo 日志参数*/void setlogConfig(logConfig logInfo);void init();int  getLogLevel();void flushLogToFile();
signals:/*** @brief signalOutputLog 日志输出的信号* @param msg 日志内容*/void signalOutputLog(QtMsgType type, const QString &msg);}

Qt下一行代码就可以使用的稳定易用的日志log类相关推荐

  1. 一行代码就可以替换n个仓储文件

    ( 且放白鹿青崖间,须行即骑访名山 ) 终于还是要面对这个问题了,一直想着可以逃避它,自从18年就开始纠结这个问题,后来看了DDD,然后也收集了很多的设计思想,发现一个框架除了稳定性,可扩展性以外,易 ...

  2. 一行代码就可以“黑”掉任意网站

    如何通过一行代码让网站主题变成暗黑主题呢? 实际上只需要一行代码,就可以轻松解决. 1.在任意网站中,打开浏览器开发者工具(F12),在Console控制台输入如下代码并回车: document.do ...

  3. http代码_一行代码就可以实现HTTP文件服务器,他为什么写了150行?

    互联网已经发展了20多年,web技术早已经不是什么新消息,现在更多的程序员讨论的都是web框架,技术框架,高可用框架等.在框架的背后,其实还是要了解最底层的核心内容,比如TCP/IP协议怎么回事,HT ...

  4. python实现人脸识别复杂么_人脸识别没有那么复杂,Python一行代码就可以办到

    今天给大家分享一个,用一行python代码实习人脸识别. 环境要求: Ubuntu17.10 Python 2.7.14 环境搭建: 1. 安装 Ubuntu17.10 > 安装步骤在这里 2. ...

  5. unity延迟执行下一行代码_Python代码在Linux环境下执行错误异常

    import happybase import time from multiprocessing import Pool# 设置IP地址 hbase_ip = '20.88.0.84' start_ ...

  6. C语言//注释使下一行代码失效

    在最近写代码时,发现下面这几行代码if后的语句有问题 if(ptr->node->flag==1) //在文件夹前输出/ printf("\"); printf(&qu ...

  7. 下如何画出频率瀑布图_用maftools一行代码画出瀑布图

    昨天本科的一个师姐问我关于瀑布图的画法,想要画个瀑布图,问我有没有有什么工具可以画的,目标图如下 于是给师姐介绍了maftools这个R包,这个R包功能非常强大,可以做各种各样的图,今天就拿瀑布图为例 ...

  8. 细数一行代码改变结局的炼丹骚操作

    文 | 陀飞轮&圈圈&年年的铲屎官 源 | 知乎 tips总结 知乎答主:陀飞轮 谈一下自己知道的.尽量避开优化器.激活函数.数据增强等改进..先上完整列表: Deep Learnin ...

  9. 一行代码帮你彻底解决pip下载速度慢的问题,更改pip源至国内镜像(无须新建文件夹), 享受飞一般的速度

    目录 1.pip安装慢的原因 2.一行代码更改pip源至国内镜像 3.一些主流的镜像网站 1.pip安装慢的原因 使用Python的人必然会用到一个工具就是pip, 它帮助我们安装各种第三方库, 用起 ...

最新文章

  1. Ibatis学习随笔
  2. 深入理解python之self
  3. C语言ATD1SC,2020-10-13_ATD(模数转换)模块介绍
  4. uvalive4840(n*n方阵的最小花费)
  5. [剑指offer][JAVA]面试题第[15]题[二进制中1的个数][位运算]
  6. 【开源项目10】安卓图表引擎AChartEngine
  7. Vue实现跑马灯效果以及封装为组件发布
  8. C# 递归实现tree view(树结构)
  9. GstElement的sink/src有什么区别?
  10. python网络请求_Python HTTP请求
  11. SVN图标丢失解决方法
  12. 软件测试面试必问问题
  13. 惠普bios硬重置_惠普笔记本电脑BIOS恢复【五个免费修复步骤】
  14. java jpanel边框_JPanel设置边框
  15. java实体类包怎么命名,程序那些事
  16. Ubuntu20.04使用摸索(二)——蓝牙耳机连接
  17. unity C#脚本介绍
  18. LoRa和NB-IoT的对比,LoRa感觉毫无胜算可言
  19. 厉害了!竟然有程序员在GitHub上建了一个新华词典数据库
  20. 个人整理的 Windows 下 .NET 开发必装的软件

热门文章

  1. 图片和文件上传的两款插件
  2. linux禅道8.1安装教程,Ubuntu 18.4安装禅道9.8.3 linux 64位一键版本
  3. android检测蓝牙设备连接不上,Android检查设备连接状态
  4. macos下使用aria2_用Aria2代替Firefox内置的下载器
  5. 悬浮按钮app_分享一款网页转App的神器,绝对值得一用
  6. linux互斥锁和条件变量,如何理解互斥锁和条件变量?
  7. jwt 私钥_一分钟带你了解JWT认证
  8. python 将列和索引的值变换_【编辑小组成长日记】Python学习第二期
  9. java calendar与date_Java中date和calendar的用法
  10. 顺序表的删除(按位置删、头删、尾删)