Lugdunum  0.1.0
LoggingFacility.hpp
Go to the documentation of this file.
1 #pragma once
2 
3 #include <string>
4 #include <memory>
5 #include <unordered_map>
6 #include <lug/System/Export.hpp>
7 
8 namespace lug {
9 namespace System {
10 namespace Logger {
11 
12 class Logger;
13 class Handler;
14 
16 public:
17  LoggingFacility() = delete;
18  ~LoggingFacility() = delete;
19 
20 public:
21  static void registerLogger(const std::string& loggerName, std::unique_ptr<Logger> logger);
22  static Logger* getLogger(const std::string& loggerName);
23 
24  static void registerHandler(const std::string& handlerName, std::unique_ptr<Handler> handler);
25  static Handler* getHandler(const std::string& handlerName);
26 
27  static void clear();
28 };
29 
30 } // Logger
31 } // System
32 } // lug
#define LUG_SYSTEM_API
Definition: Export.hpp:11