summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/log.h64
-rw-r--r--log.cc59
2 files changed, 62 insertions, 61 deletions
diff --git a/include/log.h b/include/log.h
index 7c25918..38fc122 100644
--- a/include/log.h
+++ b/include/log.h
@@ -1,10 +1,11 @@
#ifndef LOG_H
#define LOG_H
+
#include <string>
#include <cstddef>
namespace nitrokey {
-namespace log {
+ namespace log {
//for MSVC
#ifdef ERROR
@@ -12,45 +13,44 @@ namespace log {
#endif
-enum class Loglevel : int { DEBUG_L2, DEBUG, INFO, WARNING, ERROR };
-
-class LogHandler {
- public:
- virtual void print(const std::string &, Loglevel lvl) = 0;
+ enum class Loglevel : int {
+ DEBUG_L2, DEBUG, INFO, WARNING, ERROR
+ };
- protected:
- std::string loglevel_to_str(Loglevel);
-};
+ class LogHandler {
+ public:
+ virtual void print(const std::string &, Loglevel lvl) = 0;
+ protected:
+ std::string loglevel_to_str(Loglevel);
+ };
-class StdlogHandler : public LogHandler {
- public:
- virtual void print(const std::string &, Loglevel lvl);
-};
+ class StdlogHandler : public LogHandler {
+ public:
+ virtual void print(const std::string &, Loglevel lvl);
+ };
-extern StdlogHandler stdlog_handler;
+ extern StdlogHandler stdlog_handler;
-class Log {
- public:
- Log() : mp_loghandler(&stdlog_handler), m_loglevel(Loglevel::WARNING) {}
-
- static Log &instance() {
- if (mp_instance == nullptr) mp_instance = new Log;
- return *mp_instance;
- }
+ class Log {
+ public:
+ Log() : mp_loghandler(&stdlog_handler), m_loglevel(Loglevel::WARNING) {}
- void operator()(const std::string &, Loglevel);
+ static Log &instance() {
+ if (mp_instance == nullptr) mp_instance = new Log;
+ return *mp_instance;
+ }
- void set_loglevel(Loglevel lvl) { m_loglevel = lvl; }
+ void operator()(const std::string &, Loglevel);
+ void set_loglevel(Loglevel lvl) { m_loglevel = lvl; }
+ void set_handler(LogHandler *handler) { mp_loghandler = handler; }
- void set_handler(LogHandler *handler) { mp_loghandler = handler; }
+ private:
+ LogHandler *mp_loghandler;
+ Loglevel m_loglevel;
- private:
- Loglevel m_loglevel;
- LogHandler *mp_loghandler;
-
- static Log *mp_instance;
-};
-}
+ static Log *mp_instance;
+ };
+ }
}
diff --git a/log.cc b/log.cc
index 70853fc..3370959 100644
--- a/log.cc
+++ b/log.cc
@@ -5,38 +5,39 @@
#include "log.h"
namespace nitrokey {
-namespace log {
+ namespace log {
-Log *Log::mp_instance = nullptr;
-StdlogHandler stdlog_handler;
+ Log *Log::mp_instance = nullptr;
+ StdlogHandler stdlog_handler;
-std::string LogHandler::loglevel_to_str(Loglevel lvl) {
- switch (lvl) {
- case Loglevel::DEBUG_L2:
- return std::string("DEBUG_L2");
- case Loglevel::DEBUG:
- return std::string("DEBUG");
- case Loglevel::INFO:
- return std::string("INFO");
- case Loglevel::WARNING:
- return std::string("WARNING");
- case Loglevel::ERROR:
- return std::string("ERROR");
- }
- return std::string("");
-}
+ std::string LogHandler::loglevel_to_str(Loglevel lvl) {
+ switch (lvl) {
+ case Loglevel::DEBUG_L2:
+ return std::string("DEBUG_L2");
+ case Loglevel::DEBUG:
+ return std::string("DEBUG");
+ case Loglevel::INFO:
+ return std::string("INFO");
+ case Loglevel::WARNING:
+ return std::string("WARNING");
+ case Loglevel::ERROR:
+ return std::string("ERROR");
+ }
+ return std::string("");
+ }
-void Log::operator()(const std::string &logstr, Loglevel lvl) {
- if (mp_loghandler != nullptr)
- if ((int)(lvl) >= (int)(m_loglevel)) mp_loghandler->print(logstr, lvl);
-}
+ void Log::operator()(const std::string &logstr, Loglevel lvl) {
+ if (mp_loghandler != nullptr)
+ if ((int) lvl >= (int) m_loglevel) mp_loghandler->print(logstr, lvl);
+ }
-void StdlogHandler::print(const std::string &str, Loglevel lvl) {
- std::time_t t = std::time(nullptr);
- std::tm tm = *std::localtime(&t);
+ void StdlogHandler::print(const std::string &str, Loglevel lvl) {
+ std::time_t t = std::time(nullptr);
+ std::tm tm = *std::localtime(&t);
- std::clog << "[" << loglevel_to_str(lvl) << "] ["
- << std::put_time(&tm, "%c %Z") << "]\t" << str << std::endl;
-}
-}
+ std::clog << "[" << loglevel_to_str(lvl) << "] ["
+ << std::put_time(&tm, "%c %z")
+ << "]\t" << str << std::endl;
+ }
+ }
}