logger.cxx 673 B

12345678910111213141516171819202122232425262728293031
  1. //
  2. // logger.cpp
  3. // logger
  4. //
  5. // Created by Sam Jaffe on 9/3/16.
  6. //
  7. #include "logger/logger.h"
  8. #include "common.h"
  9. #include "logger/logpacket.h"
  10. #include "logger_impl.h"
  11. namespace logging {
  12. logger::logger(std::string const & name, std::shared_ptr<logger_impl> impl)
  13. : logger_name_(name), impl_(impl) {}
  14. logger::~logger() {
  15. if (impl_) impl_->flush();
  16. }
  17. void logger::log(level ll, message const & msg) {
  18. impl_->write({now(), ll, {}, logger_name_, msg});
  19. }
  20. void logger::log(level ll, location_info const & info, message const & msg) {
  21. impl_->write({now(), ll, info, logger_name_, msg});
  22. }
  23. void logger::flush() { impl_->flush(); }
  24. }