Files
GUI/src/log/UserOperationLog.cpp

48 lines
1.4 KiB
C++
Raw Normal View History

2021-11-19 15:36:12 +08:00
//
// Created by Krad on 2021/11/19.
//
#include "UserOperationLog.h"
#include <QDate>
#include <QDir>
#include "appvals/AppGlobalValues.h"
#include "models/User.h"
void UserOperationLog::init() {
QDir log_dir("./");
if (!log_dir.exists("./log")) log_dir.mkdir("log");
currentFileName = "./log/" + QDate::currentDate().toString("yyyy-MM-dd")+QString("-op.log");
logFile.setFileName(currentFileName);
if (logFile.exists())
{
logFile.open(QFile::OpenModeFlag::Append | QFile::OpenModeFlag::Text);
} else{
logFile.open(QFile::OpenModeFlag::NewOnly | QFile::OpenModeFlag::Text);
}
out.setDevice(&logFile);
}
QString getOperationName(UserOperation operation)
{
switch (operation) {
#define ADD_OPERATION(name)\
case name: return #name;
USER_OPERATIONS()
#undef ADD_OPERATION
default:
return "unknow error";
}
}
void UserOperationLog::log(UserOperation operation, bool processing) {
QDateTime now = QDateTime::currentDateTime();
AppGlobalValues::setLastOperationTime(now);
AppGlobalValues::setLastOperation(operation);
QString operationName = getOperationName(operation);
AppGlobalValues::setInProcessing(processing);
QString UserName = User::Current()->getUserCode().isEmpty()?"anonymous":User::Current()->getUserCode();
out << now.toString(Qt::DateFormat::ISODateWithMs)<<"\t"<<UserName<<"\t"<<operationName<<endl;
}