织梦网站装修公司源码,wordpress禁止某ip,网站后台用什么程序做,建设部网站投诉核查企业名单第三代软件开发-日志容量时间限制 文章目录 第三代软件开发-日志容量时间限制项目介绍日志容量时间限制 关键字#xff1a;
Qt、
Qml、
Time、
容量、
大小 项目介绍 欢迎来到我们的 QML C 项目#xff01;这个项目结合了 QML#xff08;Qt Meta-Object Language…
第三代软件开发-日志容量时间限制 文章目录 第三代软件开发-日志容量时间限制项目介绍日志容量时间限制 关键字
Qt、
Qml、
Time、
容量、
大小 项目介绍 欢迎来到我们的 QML C 项目这个项目结合了 QMLQt 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 logSize0;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;
}