Qt下一行代码就可以使用的稳定易用的日志log类
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类相关推荐
- 一行代码就可以替换n个仓储文件
( 且放白鹿青崖间,须行即骑访名山 ) 终于还是要面对这个问题了,一直想着可以逃避它,自从18年就开始纠结这个问题,后来看了DDD,然后也收集了很多的设计思想,发现一个框架除了稳定性,可扩展性以外,易 ...
- 一行代码就可以“黑”掉任意网站
如何通过一行代码让网站主题变成暗黑主题呢? 实际上只需要一行代码,就可以轻松解决. 1.在任意网站中,打开浏览器开发者工具(F12),在Console控制台输入如下代码并回车: document.do ...
- http代码_一行代码就可以实现HTTP文件服务器,他为什么写了150行?
互联网已经发展了20多年,web技术早已经不是什么新消息,现在更多的程序员讨论的都是web框架,技术框架,高可用框架等.在框架的背后,其实还是要了解最底层的核心内容,比如TCP/IP协议怎么回事,HT ...
- python实现人脸识别复杂么_人脸识别没有那么复杂,Python一行代码就可以办到
今天给大家分享一个,用一行python代码实习人脸识别. 环境要求: Ubuntu17.10 Python 2.7.14 环境搭建: 1. 安装 Ubuntu17.10 > 安装步骤在这里 2. ...
- unity延迟执行下一行代码_Python代码在Linux环境下执行错误异常
import happybase import time from multiprocessing import Pool# 设置IP地址 hbase_ip = '20.88.0.84' start_ ...
- C语言//注释使下一行代码失效
在最近写代码时,发现下面这几行代码if后的语句有问题 if(ptr->node->flag==1) //在文件夹前输出/ printf("\"); printf(&qu ...
- 下如何画出频率瀑布图_用maftools一行代码画出瀑布图
昨天本科的一个师姐问我关于瀑布图的画法,想要画个瀑布图,问我有没有有什么工具可以画的,目标图如下 于是给师姐介绍了maftools这个R包,这个R包功能非常强大,可以做各种各样的图,今天就拿瀑布图为例 ...
- 细数一行代码改变结局的炼丹骚操作
文 | 陀飞轮&圈圈&年年的铲屎官 源 | 知乎 tips总结 知乎答主:陀飞轮 谈一下自己知道的.尽量避开优化器.激活函数.数据增强等改进..先上完整列表: Deep Learnin ...
- 一行代码帮你彻底解决pip下载速度慢的问题,更改pip源至国内镜像(无须新建文件夹), 享受飞一般的速度
目录 1.pip安装慢的原因 2.一行代码更改pip源至国内镜像 3.一些主流的镜像网站 1.pip安装慢的原因 使用Python的人必然会用到一个工具就是pip, 它帮助我们安装各种第三方库, 用起 ...
最新文章
- Ibatis学习随笔
- 深入理解python之self
- C语言ATD1SC,2020-10-13_ATD(模数转换)模块介绍
- uvalive4840(n*n方阵的最小花费)
- [剑指offer][JAVA]面试题第[15]题[二进制中1的个数][位运算]
- 【开源项目10】安卓图表引擎AChartEngine
- Vue实现跑马灯效果以及封装为组件发布
- C# 递归实现tree view(树结构)
- GstElement的sink/src有什么区别?
- python网络请求_Python HTTP请求
- SVN图标丢失解决方法
- 软件测试面试必问问题
- 惠普bios硬重置_惠普笔记本电脑BIOS恢复【五个免费修复步骤】
- java jpanel边框_JPanel设置边框
- java实体类包怎么命名,程序那些事
- Ubuntu20.04使用摸索(二)——蓝牙耳机连接
- unity C#脚本介绍
- LoRa和NB-IoT的对比,LoRa感觉毫无胜算可言
- 厉害了!竟然有程序员在GitHub上建了一个新华词典数据库
- 个人整理的 Windows 下 .NET 开发必装的软件
热门文章
- 图片和文件上传的两款插件
- linux禅道8.1安装教程,Ubuntu 18.4安装禅道9.8.3 linux 64位一键版本
- android检测蓝牙设备连接不上,Android检查设备连接状态
- macos下使用aria2_用Aria2代替Firefox内置的下载器
- 悬浮按钮app_分享一款网页转App的神器,绝对值得一用
- linux互斥锁和条件变量,如何理解互斥锁和条件变量?
- jwt 私钥_一分钟带你了解JWT认证
- python 将列和索引的值变换_【编辑小组成长日记】Python学习第二期
- java calendar与date_Java中date和calendar的用法
- 顺序表的删除(按位置删、头删、尾删)