// // Created by Krad on 2021/11/19. // #include "UserOperationLog.h" #include #include #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) { reloadFile(); 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"<