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;