/** * \brief A singleton Logger for Inferencers * \author Nan Zhou, nanzhou at kneron dot us * \copyright 2019 Kneron Inc. All right reserved. */ #ifndef PIANO_DYNASTY_INCLUDE_LOG_INFERENCELOGGER_H_ #define PIANO_DYNASTY_INCLUDE_LOG_INFERENCELOGGER_H_ #include #include #include "spdlog/spdlog.h" #ifdef PROFILE_NODES #include "profc.h" #define SMART_PROFILE(node_name) PROFC_NODE(node_name) #else #define SMART_PROFILE(node_name) {} #endif namespace dynasty { namespace log { class InferenceLogger { private: static std::shared_ptr logger_instance_; static std::mutex mutex_; InferenceLogger(); public: static std::shared_ptr GetLogger(); static void SetLogLevel(spdlog::level::level_enum llevel=spdlog::level::level_enum::err); }; } } #endif //PIANO_DYNASTY_INCLUDE_LOG_INFERENCELOGGER_H_