48 lines
1.0 KiB
C++
48 lines
1.0 KiB
C++
#include "LogManager.h"
|
|
|
|
#include <QThread>
|
|
|
|
LogManager* LogManager::getInstance()
|
|
{
|
|
static LogManager instance;
|
|
return &instance;
|
|
}
|
|
|
|
LogManager::LogManager()
|
|
: QObject()
|
|
, mThread(new QThread())
|
|
, mSysLog(new SystemOperationLog())
|
|
, mUserLog(new UserOperationLog())
|
|
{
|
|
mSysLog->moveToThread(mThread);
|
|
mUserLog->moveToThread(mThread);
|
|
connect(this, &LogManager::doWriteSystemOperationLog, mSysLog, &SystemOperationLog::log);
|
|
connect(this, &LogManager::doWriteUserOperationLog, mUserLog, &UserOperationLog::log);
|
|
mThread->start();
|
|
}
|
|
|
|
LogManager::~LogManager()
|
|
{
|
|
mThread->quit();
|
|
mThread->wait();
|
|
|
|
delete mUserLog;
|
|
delete mSysLog;
|
|
mThread->deleteLater();
|
|
}
|
|
|
|
void LogManager::writeSystemOperationLog(const QString& aMessage)
|
|
{
|
|
emit doWriteSystemOperationLog(aMessage, QDateTime::currentDateTime());
|
|
}
|
|
|
|
void LogManager::writeUserOperationLog(const QString& aMessage)
|
|
{
|
|
emit doWriteUserOperationLog(aMessage);
|
|
}
|
|
|
|
QString LogManager::getCurrentUserOperationLogFile()
|
|
{
|
|
return mUserLog->currentLogFile();
|
|
}
|