appender.h 625 B

123456789101112131415161718192021222324
  1. #pragma once
  2. #include "logger/logger_fwd.h"
  3. namespace logging {
  4. struct appender {
  5. virtual ~appender() = default;
  6. virtual std::ostream & stream() = 0;
  7. virtual void write(logpacket const & packet, layout & withLayout) = 0;
  8. virtual bool should_log(level ll) const = 0;
  9. virtual void flush() = 0;
  10. };
  11. struct simple_appender : appender {
  12. simple_appender() = default;
  13. simple_appender(properties const & props);
  14. void write(logpacket const & packet, layout & withLayout) override;
  15. bool should_log(level ll) const override;
  16. void flush() override;
  17. level threshold;
  18. };
  19. }