summaryrefslogtreecommitdiff
path: root/src/logger.cpp
diff options
context:
space:
mode:
authorilotterytea <iltsu@alright.party>2024-05-18 14:48:12 +0500
committerilotterytea <iltsu@alright.party>2024-05-18 14:48:12 +0500
commitd1793df1eda463b10107d41785ad1d7f055ed476 (patch)
treefd3e41c3b4a05924748ae4b762e1ae55a0bc815c /src/logger.cpp
parentd7a2de17e9b7931f68b5b4079b1c36866a19d343 (diff)
upd: moved the bot part to a relative subfolder
Diffstat (limited to 'src/logger.cpp')
-rw-r--r--src/logger.cpp96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/logger.cpp b/src/logger.cpp
deleted file mode 100644
index 3d142a2..0000000
--- a/src/logger.cpp
+++ /dev/null
@@ -1,96 +0,0 @@
-#include "logger.hpp"
-
-#include <ctime>
-#include <filesystem>
-#include <fstream>
-#include <iomanip>
-#include <iostream>
-#include <sstream>
-#include <stdexcept>
-
-namespace bot::log {
- void log(const LogLevel &level, const std::string &source,
- const std::string &message) {
- std::string dir_name = "logs";
- if (!std::filesystem::exists(dir_name)) {
- std::filesystem::create_directory(dir_name);
- }
-
- if (std::filesystem::exists(dir_name) &&
- !std::filesystem::is_directory(dir_name)) {
- throw std::runtime_error("The path '" + dir_name +
- "' is not a directory!");
- return;
- }
-
- std::ostringstream line;
-
- // getting time
- std::time_t current_time = std::time(nullptr);
- std::tm *local_time = std::localtime(&current_time);
-
- line << "[" << std::put_time(local_time, "%H:%M:%S") << "] ";
-
- std::string level_str;
-
- switch (level) {
- case DEBUG:
- level_str = "DEBUG";
- break;
- case WARN:
- level_str = "WARN";
- break;
- case ERROR:
- level_str = "ERROR";
- break;
- default:
- level_str = "INFO";
- break;
- }
-
- line << level_str << " - ";
-
- line << source << ": " << message << "\n";
-
-#ifdef DEBUG_MODE
- std::cout << line.str();
-#else
- if (level != LogLevel::DEBUG) {
- std::cout << line.str();
- }
-#endif
-
- // saving into the log file
- std::ostringstream file_name_oss;
- file_name_oss << dir_name << "/";
- file_name_oss << "log_";
- file_name_oss << std::put_time(local_time, "%Y-%m-%d");
- file_name_oss << ".log";
-
- std::ofstream ofs;
- ofs.open(file_name_oss.str(), std::ios::app);
-
- if (ofs.is_open()) {
- ofs << line.str();
- ofs.close();
- } else {
- std::cerr << "Failed to write to the log file!\n";
- }
- }
-
- void info(const std::string &source, const std::string &message) {
- log(LogLevel::INFO, source, message);
- }
-
- void debug(const std::string &source, const std::string &message) {
- log(LogLevel::DEBUG, source, message);
- }
-
- void warn(const std::string &source, const std::string &message) {
- log(LogLevel::WARN, source, message);
- }
-
- void error(const std::string &source, const std::string &message) {
- log(LogLevel::ERROR, source, message);
- }
-}