ddt  0.1
ddtLogger.hpp
Go to the documentation of this file.
1 // @copyright
2 // (c) Copyright ESO 2020
3 // All Rights Reserved
4 // ESO (eso.org) is an Intergovernmental Organization, and therefore special
5 // legal conditions apply.
6 //
7 // @file ddtLogger.hpp
8 // @brief Class to wrap the usage of log4cplus as logging utility.
9 //
10 // This file provides a wrapper class for the usage of log4cplus as logging
11 // utility.
12 //
13 // @author Christoph Bortlisz, CGI
14 
15 #ifndef DDT_DDTLOGGER_HPP
16 #define DDT_DDTLOGGER_HPP
17 
18 #include <log4cplus/configurator.h>
19 #include <log4cplus/logger.h>
20 #include <log4cplus/loggingmacros.h>
21 #include <sys/stat.h>
22 
23 #include <algorithm>
24 #include <cctype>
25 
26 namespace ddt {
27 
48 class DdtLogger {
49  public:
57  static const int DDT_OFF = 6;
61  static const int DDT_FATAL = 5;
65  static const int DDT_ERROR = 4;
69  static const int DDT_WARN = 3;
73  static const int DDT_INFO = 2;
77  static const int DDT_DEBUG = 1;
81  static const int DDT_TRACE = 0;
85  static const int DDT_ALL = 0;
86 
93  DdtLogger(const std::string& loggerName);
94 
108  DdtLogger(const std::string& loggerName, const char* const applicationPath);
109 
118  explicit DdtLogger(const log4cplus::Logger& log4cplusLogger);
119 
123  virtual ~DdtLogger();
124 
130  static void writeToLogger(DdtLogger* const logger, const int severity,
131  const std::string& message);
132 
136  void logTrace(const std::string& logMsg);
140  void logDebug(const std::string& logMsg);
144  void logInfo(const std::string& logMsg);
148  void logWarn(const std::string& logMsg);
152  void logError(const std::string& logMsg);
156  void logFatal(const std::string& logMsg);
157 
162  void configure(const std::string& mod_name);
163 
169  void setLogLevel(const int level);
170 
177  void setLogLevelFromLog4CPlus(const log4cplus::LogLevel level);
178 
184  void write(const int severity, const std::string& message);
185 
186  private:
190  log4cplus::Logger logger;
191 
195  std::string mod_name = "DDT_LOGGER";
196 
202  int logLevel;
203 
210  bool initializedWithin = true;
211 
215  void Init();
216 };
217 
218 } // namespace ddt
219 
220 #endif /* DDT_DDTLOGGER_HPP */
ddt::DdtLogger::~DdtLogger
virtual ~DdtLogger()
Definition: ddtLogger.cpp:104
ddt::DdtLogger::logFatal
void logFatal(const std::string &logMsg)
Definition: ddtLogger.cpp:130
ddt::DdtLogger::logTrace
void logTrace(const std::string &logMsg)
Definition: ddtLogger.cpp:110
ddt::DdtLogger
Definition: ddtLogger.hpp:48
ddt
Definition: ddtClient.hpp:36
ddt::DdtLogger::configure
void configure(const std::string &mod_name)
Definition: ddtLogger.cpp:135
ddt::DdtLogger::DdtLogger
DdtLogger(const std::string &loggerName)
Definition: ddtLogger.cpp:21
ddt::DdtLogger::DDT_ERROR
static const int DDT_ERROR
Definition: ddtLogger.hpp:65
ddt::DdtLogger::DDT_DEBUG
static const int DDT_DEBUG
Definition: ddtLogger.hpp:77
ddt::DdtLogger::DDT_FATAL
static const int DDT_FATAL
Definition: ddtLogger.hpp:61
ddt::DdtLogger::logWarn
void logWarn(const std::string &logMsg)
Definition: ddtLogger.cpp:122
ddt::DdtLogger::logInfo
void logInfo(const std::string &logMsg)
Definition: ddtLogger.cpp:118
ddt::DdtLogger::writeToLogger
static void writeToLogger(DdtLogger *const logger, const int severity, const std::string &message)
Definition: ddtLogger.cpp:229
ddt::DdtLogger::setLogLevel
void setLogLevel(const int level)
Definition: ddtLogger.cpp:139
ddt::DdtLogger::write
void write(const int severity, const std::string &message)
Definition: ddtLogger.cpp:202
ddt::DdtLogger::logDebug
void logDebug(const std::string &logMsg)
Definition: ddtLogger.cpp:114
ddt::DdtLogger::logError
void logError(const std::string &logMsg)
Definition: ddtLogger.cpp:126
ddt::DdtLogger::DDT_ALL
static const int DDT_ALL
Definition: ddtLogger.hpp:85
ddt::DdtLogger::DDT_WARN
static const int DDT_WARN
Definition: ddtLogger.hpp:69
ddt::DdtLogger::setLogLevelFromLog4CPlus
void setLogLevelFromLog4CPlus(const log4cplus::LogLevel level)
Definition: ddtLogger.cpp:172
ddt::DdtLogger::DDT_INFO
static const int DDT_INFO
Definition: ddtLogger.hpp:73
ddt::DdtLogger::DDT_OFF
static const int DDT_OFF
Definition: ddtLogger.hpp:57
ddt::DdtLogger::DDT_TRACE
static const int DDT_TRACE
Definition: ddtLogger.hpp:81