logger_impl.cxx 607 B

123456789101112131415161718192021222324252627282930313233
  1. //
  2. // logger_impl.cxx
  3. // logging
  4. //
  5. // Created by Sam Jaffe on 4/3/19.
  6. //
  7. #include "logger_impl.h"
  8. #include "logger/detail/appender.h"
  9. #include "logger/detail/layout.h"
  10. #include "logger/logpacket.h"
  11. using namespace logging;
  12. bool logger_impl::should_log(level ll) const {
  13. return ll >= min_log_level;
  14. }
  15. void logger_impl::write(logpacket const & pkt) {
  16. if (!should_log(pkt.level)) return;
  17. for (auto & appender : impls) {
  18. if (appender->should_log(pkt.level)) {
  19. appender->write(pkt);
  20. }
  21. }
  22. }
  23. void logger_impl::flush() {
  24. for (auto & appender : impls) {
  25. appender->flush();
  26. }
  27. }