// // log_manager.hpp // logging // // Created by Sam Jaffe on 4/1/19. // #pragma once #include #include namespace objects { namespace prototype { template class factory; } } namespace logging { class c_logger; class logger; class logger_impl; class properties; class manager { public: static manager & instance(); logger get(); logger get(std::string const & name); c_logger c_get(); c_logger c_get(std::string const & name); void configure(properties const & props); manager(); ~manager(); private: std::unique_ptr pimpl_; }; using impl_factory = objects::prototype::factory< std::shared_ptr, properties const &>; }