64 lines
1.9 KiB
C++
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();
|
|||
|
}
|