#include "logthread.h" LogThread::LogThread(QObject *parent) : QThread(parent) { dataList.clear(); QDir dir("/opt/ytCam/log"); if(!dir.exists()) dir.mkdir("/opt/ytCam/log"); QDir dir2("/opt/ytCam/err/"); if(!dir2.exists()) dir2.mkdir("/opt/ytCam/err/"); file = new QFile("/opt/ytCam/log/Cam01-"+QDate::currentDate().toString("yyyyMMdd")+".log"); wfile = new QFile("/opt/ytCam/err/Cam01_message.log"); day = QDate::currentDate().day(); } void LogThread::appendData(QString data) { dataList.append(data); } void LogThread::appendWrongData(QString data) { wrongList.append(data); } void LogThread::run() { { file = new QFile("/opt/ytCam/log/Cam01-"+QDate::currentDate().toString("yyyyMMdd")+".log"); if(file->open(QIODevice::ReadWrite|QIODevice::Append|QIODevice::Text)){ file->write(QString("ytDHCam start at %1.\r\n").arg(QDateTime::currentDateTime().toString("yyyy-MM-dd HH:mm:ss.zzz")).toUtf8()); file->close(); } } while(1){ if(dataList.length()>0){ if(day!=QDate::currentDate().day()){ day = QDate::currentDate().day(); file = new QFile("/opy/ytCam/log/Cam01-"+QDate::currentDate().toString("yyyyMMdd")+".log"); } if(file->open(QIODevice::ReadWrite|QIODevice::Append|QIODevice::Text)){ while(dataList.length()>0){ file->write(dataList.first().toUtf8()); file->write("\r\n"); dataList.removeFirst(); usleep(1000); } file->close(); } } if(wrongList.length()>0){ if(wfile->open(QIODevice::ReadWrite|QIODevice::Append|QIODevice::Text)){ while(wrongList.length()>0){ wfile->write(wrongList.first().toUtf8()); wfile->write("\r\n"); wrongList.removeFirst(); usleep(1000); } wfile->close(); } } usleep(50000); } }