1 #pragma once
2 
3 #include <memory>
4 #include "./LoggerInterface.h"
5 
6 namespace reanimated {
7 
8 class Logger {
9  public:
10   template <typename T>
log(T value)11   static void log(T value) {
12     if (instance == nullptr) {
13       throw std::runtime_error("no logger specified");
14     }
15     instance->log(value);
16   }
17 
18  private:
19   static std::unique_ptr<LoggerInterface> instance;
20 };
21 
22 } // namespace reanimated
23