Files
GUI/src/log/LogManager.cpp
2024-09-09 09:51:38 +08:00

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();
}