EnergySpectrumAnalyer/3rdlib/QsLog/include/QsLogManage.h

41 lines
1.1 KiB
C++

#ifndef QSLOG_MANAGE_H
#define QSLOG_MANAGE_H
#include "QsLog.h"
#include <QCoreApplication>
#include <QDir>
#include <QProcessEnvironment>
#include <QString>
namespace QsLogManage {
using namespace QsLogging;
static void createLogger()
{
Logger& logger = Logger::instance();
logger.setLoggingLevel(TraceLevel);
QString logs_dir = QDir(qApp->applicationDirPath()).filePath("logs");
QDir logsDir(logs_dir);
if (!logsDir.exists()) {
logsDir.mkdir(logs_dir);
}
QString logFileName = QCoreApplication::applicationName() + QString(".log");
QString logFilePath = logsDir.filePath(logFileName);
MaxSizeBytes maxSize(1024 * 1024 * 10);
MaxOldLogCount count(10);
DestinationPtr fileDestination = DestinationFactory::MakeFileDestination(logFilePath, EnableLogRotation, maxSize, count);
logger.addDestination(fileDestination);
DestinationPtr debugDestination(QsLogging::DestinationFactory::MakeDebugOutputDestination());
logger.addDestination(debugDestination);
}
static void destoryLogger()
{
Logger::instance().destroyInstance();
}
}
#endif // QSLOG_MANAGE_H