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

大良营销网站建设资讯wordpress cdn 阿里

大良营销网站建设资讯,wordpress cdn 阿里,模板网站建设教程,建立门户网站的步骤一、知识点 1、Log4Qt有三部分 logger#xff1a;负责捕获日志信息 layout#xff1a;负责使用不同的样式输出日志 appender#xff1a;负责输出信息到不同的目的地#xff0c;比如数据库、文件、控制台等等 2、 日志级别如下#xff0c;从上往下依次递增 ALL#xff1a;… 一、知识点 1、Log4Qt有三部分 logger负责捕获日志信息 layout负责使用不同的样式输出日志 appender负责输出信息到不同的目的地比如数据库、文件、控制台等等 2、 日志级别如下从上往下依次递增 ALL所有日志的级别都包括 TRACE指定比DEBUG更粗粒度的调试日志 DEBUG指定的信息事件的粒度是DEBUG在调试应用的时候会有帮助 INFO指定信息消息强调应用粗粒度的运行情况 WARN输出具有潜在风险的 ERROR指定错误事件并且这些事件还会保证应用继续运行 FATAL指定严重的错误事件该事件导致应用暂停 OFF最高级别相当于关闭日志 3、 日志消息格式 通过转换说明符来表示以百分号%开始后跟转换字符。 如下实例 layout-setConversionPattern(%d{yyyy-MM-dd hh:mm:ss} %p %c %m %r %t %F %M %L %l %n); %d: 输出日志时间点的日期或时间比如%d{yyyy-MM-dd hh:mm:ss}输出2023-10-26 13:37:29%p: 输出日志级别即DEBUGINFOWARNERRORFATAL,%c输出Logger 名称%m: 输出代码中指定的消息%r: 输出自应用启动到输出该日志信息耗费的毫秒数%t: 输出线程信息当用QThread::currentThread()-setObjectName(XXX);设置线程名之后输出的时线程名“XXX”QThread::currentThread()-objectName()没设置线程名输出的是线程地址0x000000000xxxxxxxxxxQThread::currentThread()%F: 输出日志消息产生时所在的文件名称%M输出日志消息产生时所在的函数名称%L: 输出日志消息产生时所在代码中的行号%l: 输出日志消息产生时所在位置相当于%F:%L-%M的组合%n: 输出一个回车换行符Windows平台为\r\nUnix平台为\n 二、下载 访问下面的网址下载Log4Qt源码压缩包 https://github.com/MEONMedical/Log4Qt 三、链接库方式使用 下载的压缩包解压之后如下图所示用Qt打开log4qt.pro 选择编译器 右击项目名进行重新构建 在构建目录中生成log4qt.dll 新建一个Qt项目 在新建的项目中新建一个“bin”文件夹把刚才生成的log4qt.dll拷贝进去 在新建的项目中新建一个“include/log4qt”文件夹把下载文件夹中的Log4Qt-master\src\log4qt中的三个文件夹和.h文件拷贝过去 在Log4QtDll.pro文件中增加如下代码 DESTDIR $$PWD/bin INCLUDEPATH $$PWD/include LIBS -L$$PWD/bin -llog4qt 更改main.cpp中的代码 #include mainwindow.h #include QApplication #include log4qt/logger.h #include log4qt/logmanager.h #include log4qt/patternlayout.h #include log4qt/consoleappender.h #include log4qt/dailyfileappender.hint main(int argc, char *argv[]) {QApplication a(argc, argv);//Logger记录器有一个根Logger可以有多个其他LoggerLog4Qt::Logger *logger Log4Qt::Logger::rootLogger(); //根Loggername为root//Log4Qt::Logger *mylog1 Log4Qt::Logger::logger(Mylog1); //其他Loggername为Mylog1的logger-setLevel(Log4Qt::Level::DEBUG_INT); //设置日志输出级别Log4Qt::LogManager::setHandleQtMessages(true); //处理qt调试输出信息将qDebug之类的信息重定向不开启这个qDebug()、qWri/****************PatternLayout配置日志的输出格式****************************/Log4Qt::PatternLayout *layout new Log4Qt::PatternLayout();layout-setConversionPattern(%d{yyyy-MM-dd hh:mm:ss} %p %c %m %r %t %F %M %L %l %n);layout-activateOptions(); // 激活Layout/***************************配置日志的输出位置***********///ConsoleAppender输出到控制台Log4Qt::ConsoleAppender *appender new Log4Qt::ConsoleAppender(layout, Log4Qt::ConsoleAppender::STDOUT_TARGET);appender-activateOptions();logger-addAppender(appender);//DailyFileAppender每天新建一个文件保存当天的日志超过指定的天数删除最开始的日志Log4Qt::DailyFileAppender *dailiAppender new Log4Qt::DailyFileAppender;dailiAppender-setLayout(layout); //设置输出格式dailiAppender-setFile(logFile.log); //日志文件名固定前缀dailiAppender-setDatePattern(_yyyy_MM_dd); //日志文件名根据每天日志变化的后缀dailiAppender-setAppendFile(true); //true表示消息增加到指定文件中false则将消息覆盖指定的文件内容默认值是falsedailiAppender-setKeepDays(30); //设置保留天数dailiAppender-activateOptions();logger-addAppender(dailiAppender);// 关闭 logger // logger-removeAllAppenders(); // logger-loggerRepository()-shutdown();MainWindow w;w.show();return a.exec(); }更mainwindow.cpp中的代码 #include mainwindow.h #include ui_mainwindow.h #include QDebugMainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui-setupUi(this);qDebug() mainwindow debug;qCritical() mainwindow critical; }MainWindow::~MainWindow() {delete ui; }重新构建并运行输出如下 在项目目录的bin文件夹下生成日志文件 mian.cpp中的代码是设置日志输出格式 layout-setConversionPattern(%d{yyyy-MM-dd hh:mm:ss} %p %c %m %r %t %F %M %L %l %n); 输出的对应内容如下 %d{yyyy-MM-dd hh:mm:ss}2023-10-27 10:31:19 %pDEBUG %cQt default %mmainwindow debug %r1454 %t0x000000000d816d00 %F..\Log4QtDll\mainwindow.cpp %MMainWindow::MainWindow(QWidget*) %L11 %l..\Log4QtDll\mainwindow.cpp:11 - MainWindow::MainWindow(QWidget*)%n换行 四、源码方式使用 新建一个Qt项目 把下载解压的文件夹中的如下文件夹拷贝到新建项目中 再把如下两个文件拷贝到新建项目的log4qt文件夹中 在Log4QtSrc.pro文件中添加如下代码 INCLUDEPATH $$PWD/log4qt include($$PWD/log4qt/log4qt.pri) 重新构建 项目结构中出现如下内容报错先不用管 在log4qt.pri文件中添加如下代码 QT xml network concurrent sqlDEFINES LOG4QT_STATIC include($$PWD/build.pri) include($$PWD/g.pri) 再重新构建 更改main.cpp代码 #include mainwindow.h #include QApplication #include log4qt/logger.h #include log4qt/logmanager.h #include log4qt/patternlayout.h #include log4qt/consoleappender.h #include log4qt/dailyfileappender.hint main(int argc, char *argv[]) {QApplication a(argc, argv);//Logger记录器有一个根Logger可以有多个其他LoggerLog4Qt::Logger *logger Log4Qt::Logger::rootLogger(); //根Loggername为root//Log4Qt::Logger *mylog1 Log4Qt::Logger::logger(Mylog1); //其他Loggername为Mylog1的logger-setLevel(Log4Qt::Level::DEBUG_INT); //设置日志输出级别Log4Qt::LogManager::setHandleQtMessages(true); //处理qt调试输出信息将qDebug之类的信息重定向不开启这个qDebug()、qWri/****************PatternLayout配置日志的输出格式****************************/Log4Qt::PatternLayout *layout new Log4Qt::PatternLayout();layout-setConversionPattern(%d{yyyy-MM-dd hh:mm:ss} %p %c %m %r %t %F %M %L %l %n);layout-activateOptions(); // 激活Layout/***************************配置日志的输出位置***********///ConsoleAppender输出到控制台Log4Qt::ConsoleAppender *appender new Log4Qt::ConsoleAppender(layout, Log4Qt::ConsoleAppender::STDOUT_TARGET);appender-activateOptions();logger-addAppender(appender);//DailyFileAppender每天新建一个文件保存当天的日志超过指定的天数删除最开始的日志Log4Qt::DailyFileAppender *dailiAppender new Log4Qt::DailyFileAppender;dailiAppender-setLayout(layout); //设置输出格式dailiAppender-setFile(logFile.log); //日志文件名固定前缀dailiAppender-setDatePattern(_yyyy_MM_dd); //日志文件名根据每天日志变化的后缀dailiAppender-setAppendFile(true); //true表示消息增加到指定文件中false则将消息覆盖指定的文件内容默认值是falsedailiAppender-setKeepDays(30); //设置保留天数dailiAppender-activateOptions();logger-addAppender(dailiAppender);// 关闭 logger // logger-removeAllAppenders(); // logger-loggerRepository()-shutdown();MainWindow w;w.show();return a.exec(); }更改mainwindow.cpp的代码 #include mainwindow.h #include ui_mainwindow.h #include QDebugMainWindow::MainWindow(QWidget *parent) :QMainWindow(parent),ui(new Ui::MainWindow) {ui-setupUi(this);qDebug() mainwindow debug;qCritical() mainwindow critical; }MainWindow::~MainWindow() {delete ui; }重新构建并运行输出如下 同时在项目构建目录下生成日志文件
http://www.zqtcl.cn/news/316431/

相关文章:

  • 网站核检单怎么用小皮创建网站
  • 企业网站托管平台有哪些烟台高新区建设局网站
  • 石家庄网站做网站和县网页定制
  • 网站个人备案和企业备案潍坊公司注册网站
  • 建个网站的流程互联网裁员
  • 设置网站模板汉口网站建设公司
  • 网站对一个关键词做排名怎么做网站建设 图纸网
  • 什么网站比较吸引流量网页设计代码td
  • 克隆网站怎么做后台wordpress网站缩
  • 仁怀哪儿做网站泰安市建设局
  • 做网站和编程有关系吗手机怎么做电子书下载网站
  • 网站做关键词排名网站快速排名的方法
  • 有网站模板如何预览泉州app开发
  • 网站自助建站系统重庆皇华建设集团有限公司网站
  • 云速成美站做网站好吗汕头制作网站
  • 搜狗搜索网站提交入口在哪里做卖车网站
  • 河南省百城建设提质网站新人怎么做电商
  • 建设机械网站制作创建个人网站教案
  • 无锡网站推广装修风格大全2023新款
  • 在线设计logo免费网站如何在网站上添加qq
  • 高端网站建设哪里好网站建设与管理案例教程
  • 云南专业网站建设上海百度移动关键词排名优化
  • 如何搭建一个完整的网站wordpress 小程序开发
  • 外贸网站建设关键点为网站网站做代理被判缓刑
  • 网站免费正能量小说台州百度关键词优化
  • 保定自助建站做静态网站
  • 旅游网站对比模板免费招收手游代理
  • phpstudy网站建设教程wordpress破解管理员帐号
  • 商务网站规划与建设心得北京小程序制作首选华网天下
  • 果洛电子商务网站建设多少钱公司网站建设选什么服务器