| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- //
- // log_manager.hpp
- // logging
- //
- // Created by Sam Jaffe on 4/1/19.
- //
- #pragma once
- #include <memory>
- #include <string>
- namespace objects { namespace prototype {
- template <typename, typename...> class factory;
- }}
- namespace logging {
- class appender;
- class c_logger;
- class layout;
- class logger;
- class properties;
- class manager {
- private:
- std::unique_ptr<struct manager_impl> 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<std::shared_ptr<appender>,
- properties const &>;
- using layouts =
- objects::prototype::factory<std::shared_ptr<layout>, properties const &>;
- }
|