051-第三代软件开发-日志容量时间限制

头图

第三代软件开发-日志容量时间限制

文章目录

  • 第三代软件开发-日志容量时间限制
    • 项目介绍
    • 日志容量时间限制

关键字: QtQmlTime容量大小

项目介绍

欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。

在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。

在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资源消耗,以确保我们的项目在各种平台和设备上都能够高效运行。

无论您是对 QML 和 C++ 开发感兴趣,还是需要我们为您构建复杂的用户界面和后端逻辑,我们都随时准备为您提供支持。请随时联系我们,让我们一同打造现代化、高性能的 QML & C++ 项目!

重要说明☝

☀该专栏在第三代软开发更新完将涨价

日志容量时间限制

这也就是为什么我在前几篇提到了日志分离,因为我们的日志真的很完善了,所以我觉得可以作为一个轮子,放到其他项目中,今天这个需要就是要可以通过容量和时间来控制日志的存储,核心代码如下

/*** @brief turing_log::logIsSpace 判断空间*/
void Turing_Log::logIsSpace()
{QString  filePath = m_path;QDir dirYear(filePath);quint64 logSize=0;quint64 logSaveSpace = m_logSaveSpace*1024*1024*1024;dirYear.setFilter(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);dirYear.setSorting(QDir::Name | QDir::Reversed);foreach(QFileInfo fileInfoYear, dirYear.entryList()){QDir dirMonth(filePath + fileInfoYear.filePath());dirMonth.setFilter(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);dirMonth.setSorting(QDir::Name | QDir::Reversed);foreach(QFileInfo fileInfoMonth, dirMonth.entryList()){QDir dirDay(filePath + fileInfoYear.filePath() + "/" + fileInfoMonth.filePath());dirDay.setFilter(QDir::Files | QDir::NoDotAndDotDot | QDir::NoSymLinks);dirDay.setSorting(QDir::Name | QDir::Reversed);foreach(QFileInfo fileInfoDay, dirDay.entryInfoList(QDir::Files)){logSize += fileInfoDay.size();if(logSize > logSaveSpace){qInfo() << "日志系统,空间超出,删除日志数据库" << fileInfoDay.filePath();QFile::remove(fileInfoDay.filePath());}else{m_logSize = logSize;}}if(dirDay.isEmpty()){QDir removeMonth(filePath +  fileInfoYear.filePath() + "/" + fileInfoMonth.filePath());if (removeMonth.removeRecursively()){qInfo() << "日志系统,空间超出,删除日志月文件夹" << filePath +  fileInfoYear.filePath() + "/" + fileInfoMonth.filePath();}}}if(dirMonth.isEmpty()){QDir removeMonth(filePath + fileInfoYear.filePath());if (removeMonth.removeRecursively()){qInfo() << "日志系统,空间超出,删除日志年文件夹" << filePath + fileInfoYear.filePath();}}}qInfo() << "日志系统,开机日志存储空间 : " << m_logSize/1024/1024 << "MB";
}/*** @brief turing_log::logIsMonth 判断时间*/
void Turing_Log::logIsMonth(QString filePath)
{m_logFileCount = 1;QDir tmpDir(filePath);tmpDir.setFilter(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);tmpDir.setSorting(QDir::Name | QDir::Reversed);foreach(QFileInfo fileInfo, tmpDir.entryList()){QDir tmpMonth(filePath + fileInfo.filePath());tmpMonth.setFilter(QDir::Dirs | QDir::NoDotAndDotDot | QDir::NoSymLinks);tmpMonth.setSorting(QDir::Name | QDir::Reversed);foreach(QFileInfo fileInfoMonth, tmpMonth.entryList()){if(tmpMonth.isEmpty() || m_logFileCount > m_logSaveMonth){QDir removeMonth(filePath +  fileInfo.filePath() + "/" + fileInfoMonth.filePath());if (removeMonth.removeRecursively()){qInfo() << "日志系统,时间超出,删除日志月文件夹" << filePath +  fileInfo.filePath() + "/" + fileInfoMonth.filePath();QFile::remove(filePath + fileInfoMonth.filePath());}}elsem_logFileCount++;}}qInfo() << "日志系统,开机日志存储时间: " << m_logFileCount;
}

博客签名2021

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/144251.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【物联网】BDS/GNSS 全星座定位导航模块——ATGM332D-5N

随着科技的不断进步&#xff0c;导航系统已经成为我们日常生活中不可或缺的一部分。传统的导航系统往往只提供基本的地图和路线规划&#xff0c;对于一些特殊需求或个性化定位并不够满足。全星座定位导航模块的出现&#xff0c;为我们带来了全新的导航体验。通过结合星座学说和…

此芯科技加入绿色计算产业联盟,参编绿色计算产业发展白皮书

近日&#xff0c;此芯科技正式加入绿色计算产业联盟&#xff08;Green Computing Consortium&#xff0c;简称GCC&#xff09;&#xff0c;以Arm架构通用智能CPU芯片及高能效的Arm PC计算解决方案加速构建软硬协同的绿色计算生态体系&#xff0c;推动绿色计算产业加速发展。 继…

【01】Istio-1.17 部署

1.1 部署Istio控制平面 部署方法 istioctl istio的专用管理工具&#xff0c;支持定制控制平面和数据平面通过命令行的选项支持完整的IstioOperator API命令行各选项可用于单独设置&#xff0c;以及接收包含IstioOperator自定义资源(CR)的yaml文件 Istio Operator Istio相关的自…

CCNA课程实验-14-Final_Lab

目录 实验条件网络拓朴需求 配置实现1. 配置PC1~3, DHCP_Server的vlan2. VLAN10、20的网关为MSW1对应的SVI&#xff0c;VLAN30、40的网关为MSW2对应的SVI&#xff1b;3. 配置5台交换机之间线路均为Trunk4. 配置5台交换机均启用Rapid-PVST(RSTP)5. 配置DHCP Server&#xff0c;创…

眼科动态图像处理系统使用说明(2023-8-11 ccc)

眼科动态图像处理系统使用说明 2023-8-11 ccc 动态眼科图像捕捉存贮分析与传输系统&#xff0c;是由计算机软件工程师和医学专家组结合&#xff0c;为满足医院临床工作的需要&#xff0c;在2000年开发的专门用于各类眼科图像自动化分析、处理和传输的软件系统。该系统可以和各…

Ubuntu 搜狗输入法无法输入中文解决方案(不需要重装,不需要重启服务器)

Ubuntu 搜狗输入法突然无法输入中文&#xff0c;上午还好用&#xff0c;下午就不好用了&#xff0c;直接上解决方案 1.终端输入pidof fcitx找到搜狗的进程&#xff0c;如下图红框中的就是进程 2.直接杀掉这个进程 3.其实到第二步&#xff0c;如果搜狗输入法自动重启了&#xf…

浪涌防护器件要选对,布局布线更重要!|深圳比创达电子EMC(上)

浪涌测试&#xff0c;作为最常见的EMC抗干扰测试项目之一&#xff0c;基本上是家用消费电子必测的项目&#xff1b;其测试目的是为了验证产品在承受外部的浪涌冲击时能否正常工作。 一、浪涌冲击产生机理及其防护设计 浪涌冲击主要包括雷击浪涌冲击、电力系统内部的开关噪声冲…

笔记本电脑没有声音?几招恢复声音流畅!

笔记本电脑已经成为我们日常生活和工作的重要工具&#xff0c;而其中的声音是其功能之一。然而&#xff0c;有时您可能会遇到笔记本电脑没有声音的问题&#xff0c;这可能是由多种原因引起的。在本文中&#xff0c;我们将深入探讨笔记本电脑没有声音的常见原因&#xff0c;并提…

MCTS蒙特卡洛树搜索(The Monte Carlo Tree Search)

1、简介 蒙特卡罗树搜索是一类树搜索算法的统称&#xff0c;简称MCTS。它是一种用于某些决策过程的启发式搜索算法&#xff0c;且在搜索空间巨大的游戏中会比较有效。从全局来看&#xff0c;蒙特卡洛树搜索的主要目标是&#xff1a;给定一个游戏状态来选择最佳的下一步。等常见…

中小企业如何最大程度地利用CRM系统的潜力?

在当今竞争激烈的商业世界中&#xff0c;客户关系管理&#xff08;CRM&#xff09;数字化转型已经成为大企业成功的重要秘诀。大型跨国公司如亚马逊、苹果和微软等已经在CRM数字化方面走在了前列&#xff0c;实现了高度个性化的客户体验&#xff0c;加强了客户忠诚度。 然而&a…

景联文科技入选量子位智库《中国AIGC数据标注产业全景报告》数据标注行业代表机构

量子位智库《中国AIGC数据标注产业全景报告》中指出&#xff0c;数据标注处于重新洗牌时期&#xff0c;更高质量、专业化的数据标注成为刚需。未来五年&#xff0c;国内AI基础数据服务将达到百亿规模&#xff0c;年复合增长率在27%左右。 基于数据基础设施建设、大模型/AI技术理…

使用手机作为电脑的麦克风和摄像头外设

工具 Iriun Iriun 电脑端安装&#xff1a;Iriun Android: Iriun 4K Webcam for PC and Mac - Apps on Google Play Apple: Iriun Webcam for PC and Mac on the App Store 基础功能免费&#xff0c;普通使用足够了。 付费功能&#xff1a; 使用 这里有介绍&#xff1a…

腾讯待办是什么?关停之后如何继续提醒待办事项?

由于业务方向调整&#xff0c;腾讯待办将于2023年的12月20日全面停止运营并下架。那么腾讯待办是什么呢&#xff1f;它是一款以微信小程序呈现的待办事项和日程管理工具&#xff0c;旨在帮助用户更好地管理自己的待办事项和日程安排。用户可以在该小程序中创建待办事项、设置提…

XD6500S— LoRa SIP模块芯片 集成了射频前端和LoRa射频收发器SX1262 应用温湿度传感器 资产跟踪等

XD6500S是一系列LoRa SIP模块&#xff0c;集成了射频前端和LoRa射频收发器SX1262系列&#xff0c;支持LoRa和FSK调制。 收发器SX1262系列&#xff0c;支持LoRa和FSK调制。LoRa技术是一种扩频协议&#xff0c;针对LPWAN 应用的低数据速率、超远距离和超低功耗通信进行了优化。通…

【Linux网络】ssh服务与配置,实现安全的密钥对免密登录

目录 一、SSH基础 1、什么是ssh服务器 2、对比一下ssh协议与telnet协议 3、常见的底层为ssh协议的软件&#xff1a; 4、拓展 二、SSH软件学习 1、ssh服务软件学习 2、sshd公钥传输的原理&#xff1a; 3、ssh命令学习&#xff1a; 4、学习解读sshd服务配置文件&#x…

gin索引 btree索引 gist索引比较

创建例子数据 postgres# create table t_hash as select id,md5(id::text) from generate_series(1,5000000) as id; SELECT 5000000postgres# vacuum ANALYZE t_hash; VACUUMpostgres# \timing Timing is on. postgres# select * from t_hash limit 10;id | …

areadetector ADURL模块应用在面探测控制的初步应用

本章中讨论了使用ADURL控制面探测器Lambda的过程&#xff1a; ADURL的使用请见&#xff1a; EPICS -- areaDetector URL驱动程序-CSDN博客 需要启动一个ADURL的IOC程序&#xff0c;并且设置相关的插件中参数的值&#xff1a; # st.cm < envPaths < st_base.cmddbpf 1…

一个22届被裁前端思想上得转变

距离上篇文章已经过去了三个多月&#xff0c;这个三个月&#xff0c;经历了技术攻坚&#xff0c;然后裁员&#xff0c;退房&#xff0c;回老家&#xff0c;找工作。短短的几个月&#xff0c;就经历社会的一次次毒打&#xff0c;特别是找工作&#xff0c;虽然算上实习我也有两年…

MAC地址_MAC地址格式_以太网的MAC帧_基础知识

MAC地址 全世界的每块网卡在出厂前都有一个唯一的代码,称为介质访问控制(MAC)地址 一.网络适配器(网卡) 要将计算机连接到以太网&#xff0c;需要使用相应的网络适配器(Adapter)&#xff0c;网络适配器一般简称为“网卡”。在计算机内部&#xff0c;网卡与CPU之间的通信&…

dewarp:数据变换

一. 效果 输入图片&#xff1a;test.jpg 前向场:test.npy 输出图片&#xff1a;dewarp_img.jpg 二. 代码 import os import cv2 import numpy as npdef align_flow(image, flow):"""flow: -1~1, 非文本区域是nanbm_flow: 对齐的bm&#xff0c;可以直接对图…