|
|
|
@ -35,7 +35,7 @@ namespace details {
|
|
|
|
|
class scoped_padder
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
scoped_padder(size_t wrapped_size, const padding_info &padinfo, fmt::memory_buffer &dest)
|
|
|
|
|
scoped_padder(size_t wrapped_size, const padding_info &padinfo, memory_buf_t &dest)
|
|
|
|
|
: padinfo_(padinfo)
|
|
|
|
|
, dest_(dest)
|
|
|
|
|
{
|
|
|
|
@ -78,14 +78,14 @@ private:
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
const padding_info &padinfo_;
|
|
|
|
|
fmt::memory_buffer &dest_;
|
|
|
|
|
memory_buf_t &dest_;
|
|
|
|
|
size_t total_pad_;
|
|
|
|
|
string_view_t spaces_{" ", 64};
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
struct null_scoped_padder
|
|
|
|
|
{
|
|
|
|
|
null_scoped_padder(size_t /*wrapped_size*/, const padding_info & /*padinfo*/, fmt::memory_buffer & /*dest*/) {}
|
|
|
|
|
null_scoped_padder(size_t /*wrapped_size*/, const padding_info & /*padinfo*/, memory_buf_t & /*dest*/) {}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
template<typename ScopedPadder>
|
|
|
|
@ -96,7 +96,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
ScopedPadder p(msg.logger_name.size(), padinfo_, dest);
|
|
|
|
|
fmt_helper::append_string_view(msg.logger_name, dest);
|
|
|
|
@ -112,7 +112,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
string_view_t &level_name = level::to_string_view(msg.level);
|
|
|
|
|
ScopedPadder p(level_name.size(), padinfo_, dest);
|
|
|
|
@ -129,7 +129,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
string_view_t level_name{level::to_short_c_str(msg.level)};
|
|
|
|
|
ScopedPadder p(level_name.size(), padinfo_, dest);
|
|
|
|
@ -162,7 +162,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
string_view_t field_value{days[static_cast<size_t>(tm_time.tm_wday)]};
|
|
|
|
|
ScopedPadder p(field_value.size(), padinfo_, dest);
|
|
|
|
@ -181,7 +181,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
string_view_t field_value{full_days[static_cast<size_t>(tm_time.tm_wday)]};
|
|
|
|
|
ScopedPadder p(field_value.size(), padinfo_, dest);
|
|
|
|
@ -200,7 +200,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
string_view_t field_value{months[static_cast<size_t>(tm_time.tm_mon)]};
|
|
|
|
|
ScopedPadder p(field_value.size(), padinfo_, dest);
|
|
|
|
@ -220,7 +220,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
string_view_t field_value{full_months[static_cast<size_t>(tm_time.tm_mon)]};
|
|
|
|
|
ScopedPadder p(field_value.size(), padinfo_, dest);
|
|
|
|
@ -237,7 +237,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 24;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -269,7 +269,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 2;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -286,7 +286,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 10;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -308,7 +308,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 4;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -325,7 +325,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 2;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -342,7 +342,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 2;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -359,7 +359,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 2;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -376,7 +376,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 2;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -393,7 +393,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 2;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -410,7 +410,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 2;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -427,7 +427,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
auto millis = fmt_helper::time_fraction<std::chrono::milliseconds>(msg.time);
|
|
|
|
|
const size_t field_size = 3;
|
|
|
|
@ -445,7 +445,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
auto micros = fmt_helper::time_fraction<std::chrono::microseconds>(msg.time);
|
|
|
|
|
|
|
|
|
@ -464,7 +464,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
auto ns = fmt_helper::time_fraction<std::chrono::nanoseconds>(msg.time);
|
|
|
|
|
const size_t field_size = 9;
|
|
|
|
@ -482,7 +482,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 10;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -501,7 +501,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 2;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -518,7 +518,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 11;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -542,7 +542,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 5;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -562,7 +562,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 8;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -588,7 +588,7 @@ public:
|
|
|
|
|
z_formatter(const z_formatter &) = delete;
|
|
|
|
|
z_formatter &operator=(const z_formatter &) = delete;
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const size_t field_size = 6;
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -644,7 +644,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const auto field_size = fmt_helper::count_digits(msg.thread_id);
|
|
|
|
|
ScopedPadder p(field_size, padinfo_, dest);
|
|
|
|
@ -661,7 +661,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
const auto pid = static_cast<uint32_t>(details::os::pid());
|
|
|
|
|
auto field_size = fmt_helper::count_digits(pid);
|
|
|
|
@ -678,7 +678,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
ScopedPadder p(msg.payload.size(), padinfo_, dest);
|
|
|
|
|
fmt_helper::append_string_view(msg.payload, dest);
|
|
|
|
@ -692,7 +692,7 @@ public:
|
|
|
|
|
: ch_(ch)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
dest.push_back(ch_);
|
|
|
|
|
}
|
|
|
|
@ -711,7 +711,7 @@ public:
|
|
|
|
|
{
|
|
|
|
|
str_ += ch;
|
|
|
|
|
}
|
|
|
|
|
void format(const details::log_msg &, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
fmt_helper::append_string_view(str_, dest);
|
|
|
|
|
}
|
|
|
|
@ -728,7 +728,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
msg.color_range_start = dest.size();
|
|
|
|
|
}
|
|
|
|
@ -741,7 +741,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
msg.color_range_end = dest.size();
|
|
|
|
|
}
|
|
|
|
@ -756,7 +756,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
if (msg.source.empty())
|
|
|
|
|
{
|
|
|
|
@ -782,7 +782,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
if (msg.source.empty())
|
|
|
|
|
{
|
|
|
|
@ -808,7 +808,7 @@ public:
|
|
|
|
|
return rv != nullptr ? rv + 1 : filename;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
if (msg.source.empty())
|
|
|
|
|
{
|
|
|
|
@ -829,7 +829,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
if (msg.source.empty())
|
|
|
|
|
{
|
|
|
|
@ -851,7 +851,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
if (msg.source.empty())
|
|
|
|
|
{
|
|
|
|
@ -876,7 +876,7 @@ public:
|
|
|
|
|
, last_message_time_(log_clock::now())
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
auto delta = msg.time - last_message_time_;
|
|
|
|
|
auto delta_units = std::chrono::duration_cast<DurationUnits>(delta);
|
|
|
|
@ -898,7 +898,7 @@ public:
|
|
|
|
|
: flag_formatter(padinfo)
|
|
|
|
|
{}
|
|
|
|
|
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &tm_time, fmt::memory_buffer &dest) override
|
|
|
|
|
void format(const details::log_msg &msg, const std::tm &tm_time, memory_buf_t &dest) override
|
|
|
|
|
{
|
|
|
|
|
using std::chrono::duration_cast;
|
|
|
|
|
using std::chrono::milliseconds;
|
|
|
|
@ -934,7 +934,7 @@ public:
|
|
|
|
|
|
|
|
|
|
cache_timestamp_ = secs;
|
|
|
|
|
}
|
|
|
|
|
fmt_helper::append_buf(cached_datetime_, dest);
|
|
|
|
|
dest.append(cached_datetime_.data(), cached_datetime_.data()+cached_datetime_.size());
|
|
|
|
|
|
|
|
|
|
auto millis = fmt_helper::time_fraction<milliseconds>(msg.time);
|
|
|
|
|
fmt_helper::pad3(static_cast<uint32_t>(millis.count()), dest);
|
|
|
|
@ -981,7 +981,7 @@ public:
|
|
|
|
|
|
|
|
|
|
private:
|
|
|
|
|
std::chrono::seconds cache_timestamp_{0};
|
|
|
|
|
fmt::basic_memory_buffer<char, 128> cached_datetime_;
|
|
|
|
|
memory_buf_t cached_datetime_;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
} // namespace details
|
|
|
|
@ -1012,7 +1012,7 @@ SPDLOG_INLINE std::unique_ptr<formatter> pattern_formatter::clone() const
|
|
|
|
|
return details::make_unique<pattern_formatter>(pattern_, pattern_time_type_, eol_);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SPDLOG_INLINE void pattern_formatter::format(const details::log_msg &msg, fmt::memory_buffer &dest)
|
|
|
|
|
SPDLOG_INLINE void pattern_formatter::format(const details::log_msg &msg, memory_buf_t &dest)
|
|
|
|
|
{
|
|
|
|
|
#ifndef SPDLOG_NO_DATETIME
|
|
|
|
|
auto secs = std::chrono::duration_cast<std::chrono::seconds>(msg.time.time_since_epoch());
|
|
|
|
|