#include "logthread.h" LogThread::LogThread(QObject *parent) : QThread(parent) { dataList.clear(); QDir dir("/usky/dmp/log"); if(!dir.exists()) system("mkdir -p /usky/dmp/log"); file = new QFile("/usky/dmp/log/verserver-"+QDate::currentDate().toString("yyyyMMdd")+".log"); day = QDate::currentDate().day(); } void LogThread::appendData(QString data) { dataList.append(data); } void LogThread::run() { file = new QFile("/usky/dmp/log/verserver-"+QDate::currentDate().toString("yyyyMMdd")+".log"); if(file->open(QIODevice::ReadWrite|QIODevice::Append|QIODevice::Text)){ file->write(QString("ytDmpVersionServer 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("/usky/dmp/log/verserver-"+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(); } } usleep(50000); } }