GlobalLogger.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00028 #ifndef KEYVALUE_SYS_LOGGER_GLOBALLOGGER_H_
00029 #define KEYVALUE_SYS_LOGGER_GLOBALLOGGER_H_
00030
00031 #include "keyvalue/extern/SharedPtr.h"
00032 #include "keyvalue/sys/logger/Logger.h"
00033 #include "keyvalue/sys/logger/StdLogger.h"
00034
00035 namespace keyvalue {
00036 namespace logger {
00037
00051 class GlobalLogger : public Logger {
00052
00053 public:
00054
00055 unsigned int
00056 getLevel() const;
00057
00058 void
00059 setLevel(unsigned int level);
00060
00061 bool
00062 log(const Message& message);
00063
00069 static GlobalLogger&
00070 getInstance();
00071
00077 static shared_ptr<Logger>
00078 get();
00079
00089 static void
00090 set(shared_ptr<Logger> logger);
00091
00100 static void
00101 reset();
00102
00103 private:
00104
00105 StdLogger defaultLogger_;
00106 shared_ptr<Logger> theLogger_;
00107
00108 GlobalLogger();
00109
00110 };
00111
00112 }
00113 }
00114
00115 #endif // KEYVALUE_SYS_LOGGER_GLOBALLOGGER_H_