#ifndef NET_PUB_HPP #define NET_PUB_HPP #include #include #include #include #include class noncopyable { protected: noncopyable() = default; noncopyable(const noncopyable&) = delete; noncopyable& operator=(const noncopyable&) = delete; }; typedef std::shared_ptr Log_t; class CLogger : public noncopyable { public: static Log_t getLogger(); private: void init(); using CPtrLogger = std::shared_ptr; private: static CPtrLogger logger_; static std::mutex mutex_; static Log_t log_; }; #endif