// // 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 appender; class c_logger; class layout; class logger; class properties; class manager { private: std::unique_ptr pimpl_; 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(); }; using appenders = objects::prototype::factory, properties const &>; using layouts = objects::prototype::factory, properties const &>; }