OpenTREP Logo  0.07.4
C++ Open Travel Request Parsing Library
Logger.cpp
Go to the documentation of this file.
1 // //////////////////////////////////////////////////////////////////////
2 // Import section
3 // //////////////////////////////////////////////////////////////////////
4 // STL
5 #include <cassert>
6 #include <iostream>
7 // OpenTREP Logger
10 
11 namespace OPENTREP {
12 
13  Logger* Logger::_instance = NULL;
14 
15  // //////////////////////////////////////////////////////////////////////
16  Logger::Logger () : _logStream (&std::cout) {
17  assert (false);
18  }
19 
20  // //////////////////////////////////////////////////////////////////////
21  Logger::Logger (const Logger&) : _logStream (&std::cout) {
22  assert (false);
23  }
24 
25  // //////////////////////////////////////////////////////////////////////
26  Logger::Logger (const LOG::EN_LogLevel iLevel, std::ostream& ioLogStream)
27  : _level (iLevel), _logStream (&ioLogStream) {
28  }
29 
30  // //////////////////////////////////////////////////////////////////////
31  Logger::~Logger () {
32  _logStream = NULL;
33  }
34 
35  // //////////////////////////////////////////////////////////////////////
36  LOG::EN_LogLevel Logger::getLogLevel() {
37  return _level;
38  }
39 
40  // //////////////////////////////////////////////////////////////////////
41  std::ostream& Logger::getLogStream() {
42  assert (_logStream != NULL);
43  return *_logStream;
44  }
45 
46  // //////////////////////////////////////////////////////////////////////
47  void Logger::setLogParameters (const LOG::EN_LogLevel iLogLevel,
48  std::ostream& ioLogStream) {
49  _level = iLogLevel;
50  _logStream = &ioLogStream;
51  }
52 
53  // //////////////////////////////////////////////////////////////////////
54  Logger& Logger::instance() {
55  if (_instance == NULL) {
56  _instance = new Logger (LOG::DEBUG, std::cout);
57 
58  assert (_instance != NULL);
59 
60  FacSupervisor::instance().registerLoggerService (_instance);
61  }
62  return *_instance;
63  }
64 
65 }
OPENTREP::LOG::DEBUG
Definition: OPENTREP_log.hpp:20
OPENTREP
Definition: BasChronometer.cpp:10
OPENTREP::Logger
Definition: Logger.hpp:49
Logger.hpp
FacSupervisor.hpp
OPENTREP::LOG::EN_LogLevel
EN_LogLevel
Definition: OPENTREP_log.hpp:15