EEROS  1.0.0.0
API for the EEROS Real-Time Robotics Framework
Logger.hpp
Go to the documentation of this file.
1 #ifndef ORG_EEROS_LOGGER_LOGGER_HPP_
2 #define ORG_EEROS_LOGGER_LOGGER_HPP_
3 
6 #include <sstream>
7 #include <string>
8 #include <iostream>
9 
10 namespace eeros {
11  namespace logger {
12 
13  enum class LogLevel {FATAL, ERROR, WARN, INFO, TRACE};
14 
15  class Logger {
16  public:
17  Logger(unsigned category = 0) : w(defaultWriter), category(category) { }
18  virtual ~Logger() { }
19 
20  void set(LogWriter* writer) { w = writer; }
21  void set(LogWriter& writer) { w = &writer; }
22  LogWriter* get() { return w; }
23 
24  LogEntry fatal() { return LogEntry(w, LogLevel::FATAL, category); }
25  LogEntry error() { return LogEntry(w, LogLevel::ERROR, category); }
26  LogEntry warn() { return LogEntry(w, LogLevel::WARN, category); }
27  LogEntry info() { return LogEntry(w, LogLevel::INFO, category); }
28  LogEntry trace() { return LogEntry(w, LogLevel::TRACE, category); }
29 
30  static void setDefaultWriter(LogWriter* writer) { defaultWriter = writer; }
31  private:
32  LogWriter* w;
33  unsigned category;
34  static LogWriter* defaultWriter;
35  };
36  }
37 }
38 
39 #endif /* ORG_EEROS_LOGGER_LOGGER_HPP_ */
Definition: Logger.hpp:15
LogEntry error()
Definition: Logger.hpp:25
Definition: Config.hpp:14
LogEntry fatal()
Definition: Logger.hpp:24
Definition: LogEntry.hpp:8
LogEntry info()
Definition: Logger.hpp:27
LogEntry warn()
Definition: Logger.hpp:26
Definition: LogWriter.hpp:10
virtual ~Logger()
Definition: Logger.hpp:18
LogEntry trace()
Definition: Logger.hpp:28
LogLevel
Definition: Logger.hpp:13
static void setDefaultWriter(LogWriter *writer)
Definition: Logger.hpp:30
Logger(unsigned category=0)
Definition: Logger.hpp:17