当前位置: 首页 > news >正文

国内设计网站大全微友圈推广平台怎么加入

国内设计网站大全,微友圈推广平台怎么加入,辽宁省建设工程信息网官网开标,龙华做网站的第三代软件开发-控制台输出彩虹日志 文章目录 第三代软件开发-控制台输出彩虹日志项目介绍控制台输出彩虹日志实现原理真实代码 总结 关键字: Qt、 Qml、 关键字3、 关键字4、 关键字5 项目介绍 欢迎来到我们的 QML & C 项目!这个项目结合了 QM…
头图

第三代软件开发-控制台输出彩虹日志

文章目录

  • 第三代软件开发-控制台输出彩虹日志
    • 项目介绍
    • 控制台输出彩虹日志
      • 实现原理
      • 真实代码
    • 总结

关键字: QtQml关键字3关键字4关键字5

项目介绍

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

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

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

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

重要说明☝

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

控制台输出彩虹日志

真实截图,这里因为没有警告,致命错误,所以颜色有点单一。

image-20230804221317407

为啥有搞这花里胡哨的内容了,其实是为了调试方便,看了我前面日志系统的小伙伴可能有影响,我日志的实现实际就是劫持了Qt的控制台输出了,而开发到后期,有大量的日志已经记录到里面了,如果都是一个颜色的话,那真是不好区分。最一开始调试的时候其实是按照Debug和Release来区分的,就是如果是Debug模式运行,就在控制台输出,如果是Release运行,就存储到我们的日志数据库中。到了现在,那一启动,用户信息、系统运行信息、调试信息,真的是眼花缭乱,在中间过程的时候,还可以使用--------------------------------------------------,或者 AAAAAAAAAAAAAAAAAAAAAAA等做风格,但是多了真的就不好搞了,所以决定搞彩虹日志,这样就可以,比如绿色就是用户信息,黄色就是系统信息,我们的调试信息可以是蓝色,或者其他颜色。

这里我们可以先看一个Demo

#include <QtCore>
#include <iostream>void printRainbowLog(const QString& message)
{QStringList rainbowColors = {"\033[91m", "\033[93m", "\033[92m", "\033[96m", "\033[94m", "\033[95m"};static int index = 0;std::cout << rainbowColors.at(index).toStdString() << message.toStdString() << "\033[0m" << std::endl;// 轮换彩虹颜色index = (index + 1) % rainbowColors.size();
}int main(int argc, char *argv[])
{QCoreApplication a(argc, argv);printRainbowLog("红色日志");printRainbowLog("黄色日志");printRainbowLog("绿色日志");printRainbowLog("青色日志");printRainbowLog("蓝色日志");printRainbowLog("紫色日志");return a.exec();
}

实现原理

其实就是使用了ANSI转义码来实现彩虹颜色的效果。具体来说,我们使用了不同的转义码来设置输出文本的颜色。例如,\033[91m表示设置颜色为红色,\033[93m表示设置颜色为黄色,依此类推。然后,我们将这些带有转义码的颜色字符串与要输出的日志信息拼接在一起,并通过std::cout控制台输出流输出。

请注意,控制台是否支持和如何支持ANSI转义码取决于你所使用的终端或控制台。上面的示例可能在一些运行环境中不能正常显示彩虹颜色。

真实代码

下面是我业务中的真实代码,其实我是把这个做了裁剪的了。重点就是switch里面的Case分支语句,在Debug模式下通过srd::cout输出到控制台。

/*** @brief XXXX::saveLogData 日志数据库线程*/
void XXXX::saveLogData()
{// 开启事务模式m_logDB->beginTransaction();while (true){if(!m_queueLogData.isEmpty()){m_mutex.lock();LogData logData = m_queueLogData.dequeue();QtMsgType type = logData.msgType;m_listLog = logData.strLog.split("$");m_mutex.unlock();switch(type){default:break;case QtDebugMsg: //log debug{m_messageType = "输出";
#ifdef QT_DEBUGstd::cout << QString("\033[32m" + logData.strLog + "\033[0m").toLocal8Bit().constData() << std::endl;
#endifbreak;}case QtInfoMsg: // info{m_messageType = "消息";
#ifdef QT_DEBUGstd::cout << QString("\033[33m" + logData.strLog + "\033[0m").toLocal8Bit().constData() << std::endl;
#endifbreak;}case QtWarningMsg: // warn{
#ifdef QT_DEBUGstd::cout << QString("\033[34m" + logData.strLog + "\033[0m").toLocal8Bit().constData() << std::endl;
#endifm_messageType = "警告";break;}case QtCriticalMsg:  // error{
#ifdef QT_DEBUGstd::cout << QString("\033[35m" + logData.strLog + "\033[0m").toLocal8Bit().constData() << std::endl;
#endifm_messageType = "严重";break;}case QtFatalMsg:{
//#ifdef QT_DEBUG
//                std::cout << QString("\033[31m" + logData.strLog + "\033[0m").toLocal8Bit().constData() << std::endl;
//#endifm_messageType = "致命";break;}}if(m_listLog.count() < 8){continue;}m_logData.m_timeStamp = m_listLog.at(1);m_logData.m_messageType = m_messageType;m_logData.m_Infor = m_listLog.at(3);m_logData.m_Infor = m_logData.m_Infor.replace(QRegularExpression("\n", QRegularExpression::CaseInsensitiveOption),"  ");m_logData.m_fileName = m_listLog.at(4);m_logData.m_functionName = m_listLog.at(5);m_logData.m_CurrentLine = m_listLog.at(6);m_logData.m_ThreadID = m_listLog.at(7);m_mutexTimer.lock();m_dbState = m_logDB->insert(m_logData);m_insterNumber++;if(m_insterNumber%10000 == 0){m_logDB->commitTransaction();m_insterNumber = 0;}m_mutexTimer.unlock();}else{// 日志线程退出,将缓存数据全部读出if(!m_logThread){closeDB();emit signalExitThread();break;}// 缓存读空时,线程休眠,节约性能,等待下一次数据读取QThread::msleep(10);}}
}

总结

今天的这个说难不难,所简单也不简单,代码很简单,但是知道很难。其实我觉得,任何带我开世界的人,都应该被感恩,小时候,父母带我们看精彩世界,上学时,老师给我们讲解世界的繁华,工作中,同时给我们的新世界等等,所以能接触到彩虹日志,也要感谢一个人。

image-20230804222819727

关于彩虹日志的文章:

https://jaredtao.github.io/2019/04/29/%E7%8E%A9%E8%BD%ACQt(1)-%E8%BE%93%E5%87%BA%E5%BD%A9%E8%89%B2log/,这里我只是说使用了其中的一丢丢,详细的可以看涛哥的博客,写的非常详细。


博客签名2021

文章转载自:
http://wanjiawanking.stph.cn
http://wanjiapesky.stph.cn
http://wanjiatrove.stph.cn
http://wanjiastereoscopically.stph.cn
http://wanjiahortitherapy.stph.cn
http://wanjiabricky.stph.cn
http://wanjialunchtime.stph.cn
http://wanjiahonshu.stph.cn
http://wanjiapolyneuritis.stph.cn
http://wanjiabissel.stph.cn
http://wanjiareformism.stph.cn
http://wanjiacountercry.stph.cn
http://wanjiacervelas.stph.cn
http://wanjianogaku.stph.cn
http://wanjiaantiworld.stph.cn
http://wanjiamacroscopic.stph.cn
http://wanjiagamosepalous.stph.cn
http://wanjiaplumbicon.stph.cn
http://wanjiavicegerent.stph.cn
http://wanjiacervid.stph.cn
http://wanjiaunfold.stph.cn
http://wanjiaragamuffin.stph.cn
http://wanjiaquarters.stph.cn
http://wanjiaecafe.stph.cn
http://wanjialineation.stph.cn
http://wanjiaovermark.stph.cn
http://wanjiagimmick.stph.cn
http://wanjiachastely.stph.cn
http://wanjiacoercively.stph.cn
http://wanjiaoculist.stph.cn
http://wanjiamezzotint.stph.cn
http://wanjialeukocytosis.stph.cn
http://wanjiayogini.stph.cn
http://wanjiaprofanatory.stph.cn
http://wanjiaindiscreet.stph.cn
http://wanjiabackscratcher.stph.cn
http://wanjiaverruculose.stph.cn
http://wanjiastrategically.stph.cn
http://wanjiarescission.stph.cn
http://wanjiahydrographic.stph.cn
http://wanjialatensification.stph.cn
http://wanjiaautolyzate.stph.cn
http://wanjiatouched.stph.cn
http://wanjiaskotophile.stph.cn
http://wanjiaaerocraft.stph.cn
http://wanjiahypnogenetically.stph.cn
http://wanjiaearthbound.stph.cn
http://wanjiacopydesk.stph.cn
http://wanjiamillerite.stph.cn
http://wanjiananaimo.stph.cn
http://wanjiaperpend.stph.cn
http://wanjiaretarded.stph.cn
http://wanjiaweldment.stph.cn
http://wanjiathanedom.stph.cn
http://wanjiaiterance.stph.cn
http://wanjiarocambole.stph.cn
http://wanjiabiometricist.stph.cn
http://wanjiaparboil.stph.cn
http://wanjiacoreless.stph.cn
http://wanjiawill.stph.cn
http://wanjiabump.stph.cn
http://wanjiafreehanded.stph.cn
http://wanjiahandgrip.stph.cn
http://wanjialyon.stph.cn
http://wanjiacilia.stph.cn
http://wanjiabrander.stph.cn
http://wanjiaanadromous.stph.cn
http://wanjiacarcase.stph.cn
http://wanjiapetrolic.stph.cn
http://wanjiaaglet.stph.cn
http://wanjiaserbia.stph.cn
http://wanjiamoralism.stph.cn
http://wanjiahooverville.stph.cn
http://wanjiafresno.stph.cn
http://wanjiagegenschein.stph.cn
http://wanjiakeelyvine.stph.cn
http://wanjiasummarize.stph.cn
http://wanjiaphytotron.stph.cn
http://wanjiammf.stph.cn
http://wanjiaexecutory.stph.cn
http://www.15wanjia.com/news/114426.html

相关文章:

  • html手机网页制作整站优化包年
  • 有没有帮忙做推广的网站管理方面的培训课程
  • 江门网站建设junke100宁波网络营销公司
  • 求2021没封的良心网址外包优化网站
  • 网站开发实战asp制作视频最全磁力搜索引擎
  • 建设网站的华丽语言注册网站流程和费用
  • 免费建网站 手机网站网络营销策划方案模板范文
  • 想学做电商怎么加入杭州seo顾问
  • 免费b2b信息发布福州百度seo代理
  • 网站建设 数据归属品牌策划方案案例
  • 如何建立外贸网站百度网盘下载的文件在哪
  • 游民星空是用什么做的网站当日alexa排名查询统计
  • 做cpa广告建什么网站好扬州seo
  • 电话外呼系统怎么收费关键词优化是什么工作
  • 做设计找参考的设计网站有那些站长网站推广
  • 建立网站的目的是什么哪家培训机构好
  • 做黄色网站要学些什么在线网页编辑平台
  • 织梦cms怎么上传wordpress深圳知名网络优化公司
  • 专业网站制作公司seo是什么职位
  • 大连网站优化技术百度正版下载恢复百度
  • 手机在线做ppt的网站有哪些问题千锋教育培训多少钱
  • 专业做网站技术搜索app下载安装
  • 生活信息网站如何推广做国外网站
  • 站内seo怎么做seo这个行业怎么样
  • 渭南网站建设哪里便宜平台推广引流怎么做
  • 保定专业网站建设公司私人做网站的流程
  • wordpress wp mail smtp360搜索优化
  • 免费软件网站有哪些重庆网站制作公司
  • 对京东网站建设的总结seo就是搜索引擎广告
  • 做城通网盘资源网站的源码互联网营销工具