logger_impl.h 460 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include "logger/logger_fwd.h"
  3. #include <memory>
  4. #include <vector>
  5. #include <utility>
  6. namespace logging {
  7. class appender;
  8. class layout;
  9. struct logger_impl {
  10. using p_appender = std::shared_ptr<appender>;
  11. using p_layout = std::shared_ptr<layout>;
  12. bool should_log(level ll) const;
  13. void write(logpacket const & pkt);
  14. void flush();
  15. std::vector<std::pair<p_appender, p_layout>> impls;
  16. level min_log_level;
  17. };
  18. }