treelite
logging.h
Go to the documentation of this file.
1 
7 #ifndef TREELITE_LOGGING_H_
8 #define TREELITE_LOGGING_H_
9 
10 #include <dmlc/thread_local.h>
11 
12 namespace treelite {
13 
15  public:
16  using Callback = void (*)(const char*);
17  inline void Register(Callback log_callback) {
18  this->log_callback_ = log_callback;
19  }
20  inline Callback Get() const {
21  return log_callback_;
22  }
23  private:
24  Callback log_callback_;
25 };
26 
27 using LogCallbackRegistryStore = dmlc::ThreadLocalStore<LogCallbackRegistry>;
28 
29 } // namespace treelite
30 
31 #endif // TREELITE_LOGGING_H_