src: Logger Utility
Added logger utility and outsourced file name creation for file loggers to it
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#include "utility/commandline/CommandLineParser.h"
|
||||
#include "utility/logging/ConsoleLogger.h"
|
||||
#include "utility/logging/FileLogger.h"
|
||||
#include "utility/logging/LoggerUtility.h"
|
||||
#include "utility/logging/logging.h"
|
||||
#include "utility/logging/LogManager.h"
|
||||
#include "utility/messaging/type/MessageEnteredLicense.h"
|
||||
@@ -42,6 +43,7 @@ void setupLogging()
|
||||
logManager->addLogger(consoleLogger);
|
||||
|
||||
std::shared_ptr<FileLogger> fileLogger = std::make_shared<FileLogger>();
|
||||
fileLogger->setFileName(LoggerUtility::generateDatedFileName("log"));
|
||||
fileLogger->setLogDirectory(UserPaths::getLogPath());
|
||||
fileLogger->setLogLevel(Logger::LOG_ALL);
|
||||
logManager->addLogger(fileLogger);
|
||||
|
||||
@@ -276,6 +276,8 @@ add_files(
|
||||
utility/logging/FileLogger.h
|
||||
utility/logging/Logger.cpp
|
||||
utility/logging/Logger.h
|
||||
utility/logging/LoggerUtility.cpp
|
||||
utility/logging/LoggerUtility.h
|
||||
utility/logging/logging.h
|
||||
utility/logging/LogManager.cpp
|
||||
utility/logging/LogManager.h
|
||||
|
||||
@@ -8,7 +8,7 @@
|
||||
|
||||
FileLogger::FileLogger()
|
||||
: Logger("FileLogger")
|
||||
, m_logFileName(getFileName())
|
||||
, m_logFileName()
|
||||
, m_logDirectory("user/log/")
|
||||
, m_maxLogLineCount(0)
|
||||
, m_maxLogFileCount(0)
|
||||
@@ -28,6 +28,11 @@ void FileLogger::setLogDirectory(const std::string& filePath)
|
||||
FileSystem::createDirectory(m_logDirectory);
|
||||
}
|
||||
|
||||
void FileLogger::setFileName(const std::string& fileName)
|
||||
{
|
||||
m_logFileName = fileName;
|
||||
}
|
||||
|
||||
void FileLogger::logInfo(const LogMessage& message)
|
||||
{
|
||||
logMessage("INFO", message);
|
||||
@@ -43,24 +48,6 @@ void FileLogger::logError(const LogMessage& message)
|
||||
logMessage("ERROR", message);
|
||||
}
|
||||
|
||||
std::string FileLogger::getFileName()
|
||||
{
|
||||
time_t time;
|
||||
std::time(&time);
|
||||
tm t = *std::localtime(&time);
|
||||
|
||||
std::stringstream filename;
|
||||
filename << "log_";
|
||||
filename << t.tm_year + 1900 << "-";
|
||||
filename << (t.tm_mon < 9 ? "0" : "") << t.tm_mon + 1 << "-";
|
||||
filename << (t.tm_mday < 10 ? "0" : "") << t.tm_mday << "_";
|
||||
filename << (t.tm_hour < 10 ? "0" : "") << t.tm_hour << "-";
|
||||
filename << (t.tm_min < 10 ? "0" : "") << t.tm_min << "-";
|
||||
filename << (t.tm_sec < 10 ? "0" : "") << t.tm_sec;
|
||||
|
||||
return filename.str();
|
||||
}
|
||||
|
||||
void FileLogger::setMaxLogLineCount(unsigned int lineCount)
|
||||
{
|
||||
m_maxLogLineCount = lineCount;
|
||||
|
||||
@@ -13,6 +13,7 @@ public:
|
||||
virtual ~FileLogger();
|
||||
|
||||
void setLogDirectory(const std::string& filePath);
|
||||
void setFileName(const std::string& fileName);
|
||||
void setMaxLogLineCount(unsigned int logCount);
|
||||
|
||||
// setting the max log file count to 0 will disable ringlogging
|
||||
@@ -23,11 +24,10 @@ private:
|
||||
virtual void logWarning(const LogMessage& message);
|
||||
virtual void logError(const LogMessage& message);
|
||||
|
||||
static std::string getFileName();
|
||||
void logMessage(const std::string& type, const LogMessage& message);
|
||||
void updateLogFileName();
|
||||
|
||||
const std::string m_logFileName;
|
||||
std::string m_logFileName;
|
||||
std::string m_logDirectory;
|
||||
unsigned int m_maxLogLineCount;
|
||||
unsigned int m_maxLogFileCount;
|
||||
|
||||
@@ -0,0 +1,32 @@
|
||||
#include "LoggerUtility.h"
|
||||
|
||||
#include <sstream>
|
||||
#include <ctime>
|
||||
|
||||
std::string LoggerUtility::generateDatedFileName(const std::string& prefix, const std::string& suffix)
|
||||
{
|
||||
time_t time;
|
||||
std::time(&time);
|
||||
tm t = *std::localtime(&time);
|
||||
|
||||
std::stringstream filename;
|
||||
if (prefix.length() > 0)
|
||||
{
|
||||
filename << prefix;
|
||||
filename << "_";
|
||||
}
|
||||
filename << t.tm_year + 1900 << "-";
|
||||
filename << (t.tm_mon < 9 ? "0" : "") << t.tm_mon + 1 << "-";
|
||||
filename << (t.tm_mday < 10 ? "0" : "") << t.tm_mday << "_";
|
||||
filename << (t.tm_hour < 10 ? "0" : "") << t.tm_hour << "-";
|
||||
filename << (t.tm_min < 10 ? "0" : "") << t.tm_min << "-";
|
||||
filename << (t.tm_sec < 10 ? "0" : "") << t.tm_sec;
|
||||
if (prefix.length() > 0)
|
||||
{
|
||||
filename << "_";
|
||||
filename << suffix;
|
||||
}
|
||||
|
||||
|
||||
return filename.str();
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
#ifndef LOGGER_UTILITY_H
|
||||
#define LOGGER_UTILITY_H
|
||||
|
||||
#include <string>
|
||||
|
||||
class LoggerUtility
|
||||
{
|
||||
public:
|
||||
static std::string generateDatedFileName(const std::string& prefix = "", const std::string& suffix = "");
|
||||
};
|
||||
|
||||
#endif // LOGGER_UTILITY_H
|
||||
Reference in New Issue
Block a user