#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 #include #include #include #include #include #include //以下为全局函数 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(); }