Mercurial > thymian
annotate common/logger.h @ 0:a4671277546c tip
created the repository for the thymian project
| author | ferencd |
|---|---|
| date | Tue, 17 Aug 2021 11:19:54 +0200 |
| parents | |
| children |
| rev | line source |
|---|---|
| ferencd@0 | 1 #ifndef LOGGER_H |
| ferencd@0 | 2 #define LOGGER_H |
| ferencd@0 | 3 |
| ferencd@0 | 4 #include "log.h" |
| ferencd@0 | 5 #include "log_machine.h" |
| ferencd@0 | 6 |
| ferencd@0 | 7 #include <vector> |
| ferencd@0 | 8 #include <memory> |
| ferencd@0 | 9 #include <string> |
| ferencd@0 | 10 |
| ferencd@0 | 11 namespace unafrog |
| ferencd@0 | 12 { |
| ferencd@0 | 13 class logger final |
| ferencd@0 | 14 { |
| ferencd@0 | 15 public: |
| ferencd@0 | 16 |
| ferencd@0 | 17 static logger& instance() |
| ferencd@0 | 18 { |
| ferencd@0 | 19 static logger the_instance; |
| ferencd@0 | 20 return the_instance; |
| ferencd@0 | 21 } |
| ferencd@0 | 22 |
| ferencd@0 | 23 void propagate_log(unafrog::log::LogLevel level, const std::string& message) noexcept; |
| ferencd@0 | 24 |
| ferencd@0 | 25 void add_log_machine(unafrog::log::log_machine*); |
| ferencd@0 | 26 |
| ferencd@0 | 27 private: |
| ferencd@0 | 28 logger()= default; |
| ferencd@0 | 29 logger(logger const&) = delete; |
| ferencd@0 | 30 logger& operator=(logger const&) = delete; |
| ferencd@0 | 31 |
| ferencd@0 | 32 std::vector<std::shared_ptr<unafrog::log::log_machine>> log_machines; |
| ferencd@0 | 33 }; |
| ferencd@0 | 34 } |
| ferencd@0 | 35 #endif // LOGGER_H |
