diff options
author | Andy Getzendanner <durandal@google.com> | 2022-11-16 07:24:16 -0800 |
---|---|---|
committer | Copybara-Service <copybara-worker@google.com> | 2022-11-16 07:24:58 -0800 |
commit | f82e3f358addedbd81e3902a7df2a4dbd568893a (patch) | |
tree | 65d524ee7a55edbed540742ca295aefae60e5892 /absl/log/internal/log_format.cc | |
parent | f02e8c04fe4217f97fc8258899a3b072f2bee95f (diff) | |
download | abseil-f82e3f358addedbd81e3902a7df2a4dbd568893a.tar.gz abseil-f82e3f358addedbd81e3902a7df2a4dbd568893a.tar.bz2 abseil-f82e3f358addedbd81e3902a7df2a4dbd568893a.zip |
Refactor "RAW: " prefix formatting into FormatLogPrefix.
This is used when demoting regular logging inside a LogSink::Send to raw-like to avoid infinite recursive dispatch.
PiperOrigin-RevId: 488934154
Change-Id: I0aaaeea0ceaaff3c4394308a7102a55befbef290
Diffstat (limited to 'absl/log/internal/log_format.cc')
-rw-r--r-- | absl/log/internal/log_format.cc | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/absl/log/internal/log_format.cc b/absl/log/internal/log_format.cc index cf8cdfd9..b8cd5ac4 100644 --- a/absl/log/internal/log_format.cc +++ b/absl/log/internal/log_format.cc @@ -169,13 +169,13 @@ std::string FormatLogMessage(absl::LogSeverity severity, absl::CivilSecond civil_second, absl::Duration subsecond, log_internal::Tid tid, absl::string_view basename, int line, - absl::string_view message) { + PrefixFormat format, absl::string_view message) { return absl::StrFormat( - "%c%02d%02d %02d:%02d:%02d.%06d %7d %s:%d] %s", + "%c%02d%02d %02d:%02d:%02d.%06d %7d %s:%d] %s%s", absl::LogSeverityName(severity)[0], civil_second.month(), civil_second.day(), civil_second.hour(), civil_second.minute(), civil_second.second(), absl::ToInt64Microseconds(subsecond), tid, - basename, line, message); + basename, line, format == PrefixFormat::kRaw ? "RAW: " : "", message); } // This method is fairly hot, and the library always passes a huge `buf`, so we @@ -189,10 +189,12 @@ std::string FormatLogMessage(absl::LogSeverity severity, // 3. line number and bracket size_t FormatLogPrefix(absl::LogSeverity severity, absl::Time timestamp, log_internal::Tid tid, absl::string_view basename, - int line, absl::Span<char>& buf) { + int line, PrefixFormat format, absl::Span<char>& buf) { auto prefix_size = FormatBoundedFields(severity, timestamp, tid, buf); prefix_size += log_internal::AppendTruncated(basename, buf); prefix_size += FormatLineNumber(line, buf); + if (format == PrefixFormat::kRaw) + prefix_size += log_internal::AppendTruncated("RAW: ", buf); return prefix_size; } |