aboutsummaryrefslogtreecommitdiff
path: root/absl/log/internal/log_format.cc
diff options
context:
space:
mode:
authorAndy Getzendanner <durandal@google.com>2022-11-16 07:24:16 -0800
committerCopybara-Service <copybara-worker@google.com>2022-11-16 07:24:58 -0800
commitf82e3f358addedbd81e3902a7df2a4dbd568893a (patch)
tree65d524ee7a55edbed540742ca295aefae60e5892 /absl/log/internal/log_format.cc
parentf02e8c04fe4217f97fc8258899a3b072f2bee95f (diff)
downloadabseil-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.cc10
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;
}