Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1441377
  • 博文数量: 241
  • 博客积分: 10
  • 博客等级: 民兵
  • 技术积分: 2253
  • 用 户 组: 普通用户
  • 注册时间: 2012-04-11 22:27
个人简介

--

文章分类

全部博文(241)

文章存档

2021年(3)

2019年(6)

2018年(1)

2017年(9)

2016年(21)

2015年(50)

2014年(125)

2013年(26)

我的朋友

分类: C/C++

2016-08-21 11:23:33

1、提供记录日志文件

2、逻辑处理

点击(此处)折叠或打开

  1. void outputMessage(QtMsgType type, const QMessageLogContext &context, const QString &msg)
  2. {
  3.     static QMutex mutex;
  4.     mutex.lock();

  5.     QString text;
  6.     switch(type)
  7.     {
  8.         case QtDebugMsg:
  9.             text = QString("Debug:");
  10.             break;

  11.         case QtWarningMsg:
  12.             text = QString("Warning:");
  13.             break;

  14.         case QtCriticalMsg:
  15.             text = QString("Critical:");
  16.             break;

  17.         case QtFatalMsg:
  18.             text = QString("Fatal:");
  19.     }

  20.     QString context_info = QString("File:(%1) Line:(%2)").arg(QString(context.file)).arg(context.line);
  21.     QString current_date_time = QDateTime::currentDateTime().toString("yyyy-MM-dd hh:mm:ss ddd");
  22.     QString current_date = QString("(%1)").arg(current_date_time);
  23.     QString message = QString("%1 %2 %3 %4").arg(text).arg(context_info).arg(msg).arg(current_date);

  24.     QFile file("log.txt");
  25.     file.open(QIODevice::WriteOnly | QIODevice::Append);
  26.     QTextStream text_stream(&file);
  27.     text_stream << message << "\r\n";
  28.     file.flush();
  29.     file.close();

  30.     mutex.unlock();
  31. }

  32. int main(int argc, char *argv[])
  33. {
  34.     qInstallMessageHandler(outputMessage);
  35.     /*所有使用方法*/
  36. /*
  37.     qDebug("This is a debug message");
  38.     qWarning("This is a warning message");
  39.     qCritical("This is a critical message");
  40.     qFatal("This is a fatal message");
  41. */
  42.     QApplication a(argc, argv);
  43.     Dialog w;
  44.     if (w.exec() == QDialog::Accepted)
  45.     {
  46.         w.show();
  47.         return a.exec();
  48.     }

  49. }
使用方法:

点击(此处)折叠或打开

  1. char cmd[256]={'\0'};
  2.             sprintf(cmd,"copy %s DB2.rar",filenameChar);
  3.             ret = system(cmd);
  4.             if (ret < 0)
  5.             {
  6.                 qFatal("copy to DB.rar fail");
  7.             }
  8.             ret = system("Rar.exe e DB2.rar");
  9.             if (ret < 0)
  10.             {
  11.                 qFatal("unrar DB.rar fail");
  12.             }
  13.             ret = system("del DB2.rar");
  14.             if (ret < 0)
  15.             {
  16.                 qFatal("del DB.rar fail");
  17.             }
  18.             qDebug("process sucess");

阅读(1915) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~