From f7fabfb2c4ea3cb1c95cd3af88009d770a6ca779 Mon Sep 17 00:00:00 2001 From: Jason Beach Date: Sun, 17 Sep 2017 22:11:23 -0400 Subject: [PATCH] add formatter for unix epoch time in seconds. --- include/spdlog/details/pattern_formatter_impl.h | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/include/spdlog/details/pattern_formatter_impl.h b/include/spdlog/details/pattern_formatter_impl.h index bd2ebc71..05993e6c 100644 --- a/include/spdlog/details/pattern_formatter_impl.h +++ b/include/spdlog/details/pattern_formatter_impl.h @@ -262,6 +262,16 @@ class F_formatter SPDLOG_FINAL:public flag_formatter } }; +class E_formatter SPDLOG_FINAL:public flag_formatter +{ + void format(details::log_msg& msg, const std::tm&) override + { + auto duration = msg.time.time_since_epoch(); + auto seconds = std::chrono::duration_cast(duration).count(); + msg.formatted << seconds; + } +}; + // AM/PM class p_formatter SPDLOG_FINAL:public flag_formatter { @@ -598,6 +608,10 @@ inline void spdlog::pattern_formatter::handle_flag(char flag) _formatters.push_back(std::unique_ptr(new details::F_formatter())); break; + case('E'): + _formatters.push_back(std::unique_ptr(new details::E_formatter())); + break; + case('p'): _formatters.push_back(std::unique_ptr(new details::p_formatter())); break;