summaryrefslogtreecommitdiff
path: root/src/logger
diff options
context:
space:
mode:
Diffstat (limited to 'src/logger')
-rw-r--r--src/logger/logger.cpp38
-rw-r--r--src/logger/logger.hpp81
2 files changed, 0 insertions, 119 deletions
diff --git a/src/logger/logger.cpp b/src/logger/logger.cpp
deleted file mode 100644
index 7336579..0000000
--- a/src/logger/logger.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-#include <logger/logger.hpp>
-#include <config/config.hpp>
-
-Logger::Logger(const int log_level):
- log_level(log_level),
- stream(std::cout.rdbuf())
-{
-}
-
-Logger::Logger(const int log_level, const std::string& log_file):
- log_level(log_level),
- ofstream(log_file.data(), std::ios_base::app),
- stream(ofstream.rdbuf())
-{
-}
-
-std::unique_ptr<Logger>& Logger::instance()
-{
- static std::unique_ptr<Logger> instance;
-
- if (!instance)
- {
- const std::string log_file = Config::get("log_file", "");
- const int log_level = Config::get_int("log_level", 0);
- if (log_file.empty())
- instance = std::make_unique<Logger>(log_level);
- else
- instance = std::make_unique<Logger>(log_level, log_file);
- }
- return instance;
-}
-
-std::ostream& Logger::get_stream(const int lvl)
-{
- if (lvl >= this->log_level)
- return this->stream;
- return this->null_stream;
-}
diff --git a/src/logger/logger.hpp b/src/logger/logger.hpp
deleted file mode 100644
index b1ae20d..0000000
--- a/src/logger/logger.hpp
+++ /dev/null
@@ -1,81 +0,0 @@
-#ifndef LOGGER_INCLUDED
-# define LOGGER_INCLUDED
-
-/**
- * Singleton used in logger macros to write into files or stdout, with
- * various levels of severity.
- * Only the macros should be used.
- * @class Logger
- */
-
-#include <memory>
-#include <iostream>
-#include <fstream>
-
-#define debug_lvl 0
-#define info_lvl 1
-#define warning_lvl 2
-#define error_lvl 3
-
-#include "config.h"
-
-#ifdef SYSTEMD_FOUND
-# include <systemd/sd-daemon.h>
-#else
-# define SD_DEBUG "[DEBUG]: "
-# define SD_INFO "[INFO]: "
-# define SD_WARNING "[WARNING]: "
-# define SD_ERR "[ERROR]: "
-#endif
-
-// Macro defined to get the filename instead of the full path. But if it is
-// not properly defined by the build system, we fallback to __FILE__
-#ifndef __FILENAME__
-# define __FILENAME__ __FILE__
-#endif
-
-#define WHERE\
- __FILENAME__ << ":" << __LINE__
-
-#define log_debug(text)\
- Logger::instance()->get_stream(debug_lvl) << SD_DEBUG << WHERE << ":\t" << text << std::endl;
-
-#define log_info(text)\
- Logger::instance()->get_stream(info_lvl) << SD_INFO << WHERE << ":\t" << text << std::endl;
-
-#define log_warning(text)\
- Logger::instance()->get_stream(warning_lvl) << SD_WARNING << WHERE << ":\t" << text << std::endl;
-
-#define log_error(text)\
- Logger::instance()->get_stream(error_lvl) << SD_ERR << WHERE << ":\t" << text << std::endl;
-
-/**
- * Juste a structure representing a stream doing nothing with its input.
- */
-class nullstream: public std::ostream
-{
-public:
- nullstream():
- std::ostream(0)
- { }
-};
-
-class Logger
-{
-public:
- static std::unique_ptr<Logger>& instance();
- std::ostream& get_stream(const int);
- Logger(const int log_level, const std::string& log_file);
- Logger(const int log_level);
-
-private:
- Logger(const Logger&);
- Logger& operator=(const Logger&);
-
- const int log_level;
- std::ofstream ofstream;
- nullstream null_stream;
- std::ostream stream;
-};
-
-#endif // LOGGER_INCLUDED