logthread.cpp 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #include "logthread.h"
  2. LogThread::LogThread(QObject *parent) :
  3. QThread(parent)
  4. {
  5. dataList.clear();
  6. QDir dir;
  7. if(!dir.exists("log"))
  8. dir.mkdir("log");
  9. QDir dir2;
  10. if(!dir2.exists("err"))
  11. dir2.mkdir("err");
  12. file = new QFile("log/DashBoard01-"+QDate::currentDate().toString("yyyyMMdd")+".log");
  13. wfile = new QFile("err/DashBoard01_message.log");
  14. day = QDate::currentDate().day();
  15. }
  16. void LogThread::appendData(QString data)
  17. {
  18. dataList.append(data);
  19. }
  20. void LogThread::appendWrongData(QString data)
  21. {
  22. wrongList.append(data);
  23. }
  24. void LogThread::run()
  25. {
  26. {
  27. file = new QFile("log/DashBoard01-"+QDate::currentDate().toString("yyyyMMdd")+".log");
  28. if(file->open(QIODevice::ReadWrite|QIODevice::Append|QIODevice::Text)){
  29. file->write(QString("ytDashBoard start at %1.\r\n").arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss.zzz")).toUtf8());
  30. file->close();
  31. }
  32. }
  33. while(1){
  34. if(dataList.length()>0){
  35. if(day!=QDate::currentDate().day()){
  36. day = QDate::currentDate().day();
  37. file = new QFile("log/DashBoard01-"+QDate::currentDate().toString("yyyyMMdd")+".log");
  38. }
  39. if(file->open(QIODevice::ReadWrite|QIODevice::Append|QIODevice::Text)){
  40. while(dataList.length()>0){
  41. file->write(dataList.first().toUtf8());
  42. file->write("\r\n");
  43. dataList.removeFirst();
  44. usleep(1000);
  45. }
  46. file->close();
  47. }
  48. }
  49. if(wrongList.length()>0){
  50. if(wfile->open(QIODevice::ReadWrite|QIODevice::Append|QIODevice::Text)){
  51. while(wrongList.length()>0){
  52. wfile->write(wrongList.first().toUtf8());
  53. wfile->write("\r\n");
  54. wrongList.removeFirst();
  55. usleep(1000);
  56. }
  57. wfile->close();
  58. }
  59. }
  60. usleep(50000);
  61. }
  62. }