diff 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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/common/logger.h	Tue Aug 17 11:19:54 2021 +0200
@@ -0,0 +1,35 @@
+#ifndef LOGGER_H
+#define LOGGER_H
+
+#include "log.h"
+#include "log_machine.h"
+
+#include <vector>
+#include <memory>
+#include <string>
+
+namespace unafrog
+{
+class logger final
+{
+public:
+
+    static logger& instance()
+    {
+        static logger the_instance;
+        return the_instance;
+    }
+
+    void propagate_log(unafrog::log::LogLevel level, const std::string& message) noexcept;
+
+    void add_log_machine(unafrog::log::log_machine*);
+
+private:
+    logger()= default;
+    logger(logger const&) = delete;
+    logger& operator=(logger const&) = delete;
+
+    std::vector<std::shared_ptr<unafrog::log::log_machine>> log_machines;
+};
+}
+#endif // LOGGER_H