diff options
author | Mateusz Zalega <mateusz@appliedsourcery.com> | 2015-10-22 23:07:23 +0200 |
---|---|---|
committer | Mateusz Zalega <mateusz@appliedsourcery.com> | 2015-10-26 20:49:55 +0100 |
commit | 9b8ebc6ed1a1fdc15c404774bf102c883a34d990 (patch) | |
tree | fce9205359704dcce84a1f770878901fbc9c2b3e /log.cc | |
parent | c4aec144256e3f27fedd8f8de03e10cc08eecab8 (diff) | |
download | libnitrokey-9b8ebc6ed1a1fdc15c404774bf102c883a34d990.tar.gz libnitrokey-9b8ebc6ed1a1fdc15c404774bf102c883a34d990.tar.bz2 |
Minor fixes, working version
Diffstat (limited to 'log.cc')
-rw-r--r-- | log.cc | 44 |
1 files changed, 44 insertions, 0 deletions
@@ -0,0 +1,44 @@ +#include <iostream> +#include <string> +#include <ctime> +#include <iomanip> +#include "log.h" + +namespace nitrokey { +namespace log { + +Log *Log::mp_instance = NULL; +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(""); +} + +void Log::operator()(const std::string &logstr, Loglevel lvl) { + if (mp_loghandler != NULL) + 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); + + std::clog << "[" << loglevel_to_str(lvl) << "] [" + << std::put_time(&tm, "%c %Z") << "]\t" << str << std::endl; +} + +} +} |