debug::Logger refactoring (#534)

This commit is contained in:
ChancellorIkseew 2025-06-15 03:50:58 +10:00 committed by GitHub
parent ead46158d9
commit af4ae684cd
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 12 additions and 23 deletions

View File

@ -2,25 +2,24 @@
#include <chrono> #include <chrono>
#include <ctime> #include <ctime>
#include <fstream>
#include <iomanip> #include <iomanip>
#include <iostream> #include <iostream>
#include <mutex>
#include <utility> #include <utility>
using namespace debug; using namespace debug;
std::ofstream Logger::file; static std::ofstream file;
std::mutex Logger::mutex; static std::mutex mutex;
std::string Logger::utcOffset = ""; static std::string utcOffset = "";
unsigned Logger::moduleLen = 20; constexpr unsigned int moduleLen = 20;
LogMessage::~LogMessage() { LogMessage::~LogMessage() {
logger->log(level, ss.str()); logger->log(level, ss.str());
} }
Logger::Logger(std::string name) : name(std::move(name)) { static void write(
}
void Logger::log(
LogLevel level, const std::string& name, const std::string& message LogLevel level, const std::string& name, const std::string& message
) { ) {
if (level == LogLevel::print) { if (level == LogLevel::print) {
@ -84,5 +83,5 @@ void Logger::flush() {
} }
void Logger::log(LogLevel level, std::string message) { void Logger::log(LogLevel level, std::string message) {
log(level, name, std::move(message)); write(level, name, std::move(message));
} }

View File

@ -1,7 +1,5 @@
#pragma once #pragma once
#include <fstream>
#include <mutex>
#include <sstream> #include <sstream>
namespace debug { namespace debug {
@ -27,24 +25,16 @@ namespace debug {
}; };
class Logger { class Logger {
static std::mutex mutex;
static std::string utcOffset;
static std::ofstream file;
static unsigned moduleLen;
std::string name; std::string name;
static void log(
LogLevel level, const std::string& name, const std::string& message
);
public: public:
static void init(const std::string& filename); static void init(const std::string& filename);
static void flush(); static void flush();
Logger(std::string name); Logger(const std::string& name) : name(name) {
}
void log(LogLevel level, std::string message); void log(LogLevel level, std::string message);
LogMessage debug() { LogMessage debug() {
return LogMessage(this, LogLevel::debug); return LogMessage(this, LogLevel::debug);
} }
@ -60,7 +50,7 @@ namespace debug {
LogMessage warning() { LogMessage warning() {
return LogMessage(this, LogLevel::warning); return LogMessage(this, LogLevel::warning);
} }
/// @brief Print-debugging tool (printed without header) /// @brief Print-debugging tool (printed without header)
LogMessage print() { LogMessage print() {
return LogMessage(this, LogLevel::print); return LogMessage(this, LogLevel::print);