PreVerify/logger/logger.cpp
2024-09-09 19:18:28 +08:00

64 lines
1.9 KiB
C++

#include "logger.h"
#include "log4qt/propertyconfigurator.h"
#include "log4qt/loggerrepository.h"
#include "log4qt/consoleappender.h"
#include "log4qt/ttcclayout.h"
#include "log4qt/logmanager.h"
#include "log4qt/fileappender.h"
#include <QCoreApplication>
#include <QScopedPointer>
#include <QStringBuilder>
#include <QString>
#include <QFile>
#include <QLoggingCategory>
#include <QTimer>
//以下为全局函数
void initializeRootLogger()
{
setupRootLogger(QStringLiteral("aoi logger is setup."));
}
void shutdownRootLogger()
{
shutDownRootLogger(QStringLiteral("aoi logger was shutdown."));
}
void logStartup()
{
auto logger = Log4Qt::Logger::rootLogger();
logger->info(QStringLiteral("################################################################"));
logger->info(QStringLiteral("# START #"));
logger->info(QStringLiteral("################################################################"));
}
void logShutdown()
{
auto logger = Log4Qt::Logger::rootLogger();
logger->info(QStringLiteral("################################################################"));
logger->info(QStringLiteral("# STOP #"));
logger->info(QStringLiteral("################################################################"));
}
void setupRootLogger(const QString& introMessage)
{
QString configFile = QCoreApplication::applicationFilePath() + QStringLiteral(".log4qt.properties");
if (QFile::exists(configFile))
Log4Qt::PropertyConfigurator::configureAndWatch(configFile);
if (!introMessage.isEmpty())
Log4Qt::Logger::rootLogger()->info(introMessage);
}
void shutDownRootLogger(const QString& extroMessage)
{
auto logger = Log4Qt::Logger::rootLogger();
if (!extroMessage.isEmpty())
logger->info(extroMessage);
logger->removeAllAppenders();
logger->loggerRepository()->shutdown();
}