Compare commits

..

4 Commits

Author SHA1 Message Date
Alexey Rybalchenko
9a6644c931 Adapt to fmt's deprecation of format_to memory buffer overload 2021-11-26 11:23:42 +01:00
Alexey Rybalchenko
27040ea292 Deprecate uppercase severity names 2021-11-25 14:29:18 +01:00
David Rohr
6545d0efa2 Include fmt/ostream.h, needed for on the fly std::ostream usage 2021-11-15 10:52:33 +01:00
Dennis Klein
159a21c24b ci: Add macos-11-arm64 (apple-clang-13) build 2021-10-01 17:10:13 +02:00
3 changed files with 32 additions and 29 deletions

1
Jenkinsfile vendored
View File

@@ -63,6 +63,7 @@ pipeline{
[os: 'fedora', ver: '33', arch: 'x86_64', compiler: 'gcc-10'], [os: 'fedora', ver: '33', arch: 'x86_64', compiler: 'gcc-10'],
[os: 'fedora', ver: '34', arch: 'x86_64', compiler: 'gcc-11'], [os: 'fedora', ver: '34', arch: 'x86_64', compiler: 'gcc-11'],
[os: 'macos', ver: '11', arch: 'x86_64', compiler: 'apple-clang-12'], [os: 'macos', ver: '11', arch: 'x86_64', compiler: 'apple-clang-12'],
[os: 'macos', ver: '11', arch: 'arm64', compiler: 'apple-clang-13'],
]) ])
parallel(builds) parallel(builds)

View File

@@ -15,6 +15,7 @@
#include <cstdio> // printf #include <cstdio> // printf
#include <iostream> #include <iostream>
#include <iterator> // std::back_inserter
using namespace std; using namespace std;
@@ -160,27 +161,27 @@ Logger::Logger(Severity severity, Verbosity verbosity, const string& file, const
for (const auto info : spec.fInfos) { for (const auto info : spec.fInfos) {
switch (info) { switch (info) {
case VSpec::Info::process_name: case VSpec::Info::process_name:
fmt::format_to(fBWPrefix, "[{}]", fInfos.process_name); fmt::format_to(std::back_inserter(fBWPrefix), "[{}]", fInfos.process_name);
break; break;
case VSpec::Info::timestamp_us: case VSpec::Info::timestamp_us:
FillTimeInfos(); FillTimeInfos();
fmt::format_to(fBWPrefix, "[{:%H:%M:%S}.{:06}]", fmt::localtime(fInfos.timestamp), fInfos.us.count()); fmt::format_to(std::back_inserter(fBWPrefix), "[{:%H:%M:%S}.{:06}]", fmt::localtime(fInfos.timestamp), fInfos.us.count());
break; break;
case VSpec::Info::timestamp_s: case VSpec::Info::timestamp_s:
FillTimeInfos(); FillTimeInfos();
fmt::format_to(fBWPrefix, "[{:%H:%M:%S}]", fmt::localtime(fInfos.timestamp)); fmt::format_to(std::back_inserter(fBWPrefix), "[{:%H:%M:%S}]", fmt::localtime(fInfos.timestamp));
break; break;
case VSpec::Info::severity: case VSpec::Info::severity:
fmt::format_to(fBWPrefix, "[{}]", fInfos.severity_name); fmt::format_to(std::back_inserter(fBWPrefix), "[{}]", fInfos.severity_name);
break; break;
case VSpec::Info::file_line_function: case VSpec::Info::file_line_function:
fmt::format_to(fBWPrefix, "[{}:{}:{}]", fInfos.file, fInfos.line, fInfos.func); fmt::format_to(std::back_inserter(fBWPrefix), "[{}:{}:{}]", fInfos.file, fInfos.line, fInfos.func);
break; break;
case VSpec::Info::file_line: case VSpec::Info::file_line:
fmt::format_to(fBWPrefix, "[{}:{}]", fInfos.file, fInfos.line); fmt::format_to(std::back_inserter(fBWPrefix), "[{}:{}]", fInfos.file, fInfos.line);
break; break;
case VSpec::Info::file: case VSpec::Info::file:
fmt::format_to(fBWPrefix, "[{}]", fInfos.file); fmt::format_to(std::back_inserter(fBWPrefix), "[{}]", fInfos.file);
break; break;
default: default:
break; break;
@@ -188,7 +189,7 @@ Logger::Logger(Severity severity, Verbosity verbosity, const string& file, const
} }
if (spec.fSize > 0) { if (spec.fSize > 0) {
fmt::format_to(fBWPrefix, " "); fmt::format_to(std::back_inserter(fBWPrefix), " ");
} }
} }
@@ -196,27 +197,27 @@ Logger::Logger(Severity severity, Verbosity verbosity, const string& file, const
for (const auto info : spec.fInfos) { for (const auto info : spec.fInfos) {
switch (info) { switch (info) {
case VSpec::Info::process_name: case VSpec::Info::process_name:
fmt::format_to(fColorPrefix, "[{}]", ColorOut(Color::fgBlue, fInfos.process_name)); fmt::format_to(std::back_inserter(fColorPrefix), "[{}]", ColorOut(Color::fgBlue, fInfos.process_name));
break; break;
case VSpec::Info::timestamp_us: case VSpec::Info::timestamp_us:
FillTimeInfos(); FillTimeInfos();
fmt::format_to(fColorPrefix, "[{}{:%H:%M:%S}.{:06}{}]", startColor(Color::fgCyan), fmt::localtime(fInfos.timestamp), fInfos.us.count(), endColor()); fmt::format_to(std::back_inserter(fColorPrefix), "[{}{:%H:%M:%S}.{:06}{}]", startColor(Color::fgCyan), fmt::localtime(fInfos.timestamp), fInfos.us.count(), endColor());
break; break;
case VSpec::Info::timestamp_s: case VSpec::Info::timestamp_s:
FillTimeInfos(); FillTimeInfos();
fmt::format_to(fColorPrefix, "[{}{:%H:%M:%S}{}]", startColor(Color::fgCyan), fmt::localtime(fInfos.timestamp), endColor()); fmt::format_to(std::back_inserter(fColorPrefix), "[{}{:%H:%M:%S}{}]", startColor(Color::fgCyan), fmt::localtime(fInfos.timestamp), endColor());
break; break;
case VSpec::Info::severity: case VSpec::Info::severity:
fmt::format_to(fColorPrefix, "[{}]", GetColoredSeverityString(fInfos.severity)); fmt::format_to(std::back_inserter(fColorPrefix), "[{}]", GetColoredSeverityString(fInfos.severity));
break; break;
case VSpec::Info::file_line_function: case VSpec::Info::file_line_function:
fmt::format_to(fColorPrefix, "[{}:{}:{}]", ColorOut(Color::fgBlue, fInfos.file), ColorOut(Color::fgYellow, fInfos.line), ColorOut(Color::fgBlue, fInfos.func)); fmt::format_to(std::back_inserter(fColorPrefix), "[{}:{}:{}]", ColorOut(Color::fgBlue, fInfos.file), ColorOut(Color::fgYellow, fInfos.line), ColorOut(Color::fgBlue, fInfos.func));
break; break;
case VSpec::Info::file_line: case VSpec::Info::file_line:
fmt::format_to(fColorPrefix, "[{}:{}]", ColorOut(Color::fgBlue, fInfos.file), ColorOut(Color::fgYellow, fInfos.line)); fmt::format_to(std::back_inserter(fColorPrefix), "[{}:{}]", ColorOut(Color::fgBlue, fInfos.file), ColorOut(Color::fgYellow, fInfos.line));
break; break;
case VSpec::Info::file: case VSpec::Info::file:
fmt::format_to(fColorPrefix, "[{}]", ColorOut(Color::fgBlue, fInfos.file)); fmt::format_to(std::back_inserter(fColorPrefix), "[{}]", ColorOut(Color::fgBlue, fInfos.file));
break; break;
default: default:
break; break;
@@ -224,7 +225,7 @@ Logger::Logger(Severity severity, Verbosity verbosity, const string& file, const
} }
if (spec.fSize > 0) { if (spec.fSize > 0) {
fmt::format_to(fColorPrefix, " "); fmt::format_to(std::back_inserter(fColorPrefix), " ");
} }
} }

View File

@@ -26,6 +26,7 @@
#include <fmt/core.h> #include <fmt/core.h>
#include <fmt/printf.h> #include <fmt/printf.h>
#include <fmt/ostream.h>
#pragma GCC diagnostic pop #pragma GCC diagnostic pop
@@ -68,19 +69,19 @@ enum class Severity : int
// aliases // aliases
warning = warn, warning = warn,
// backwards-compatibility // backwards-compatibility
NOLOG = nolog, NOLOG __attribute__((deprecated("Use LOG(nolog) instead (lowercase severity name)."))) = nolog,
TRACE = trace, FATAL __attribute__((deprecated("Use LOG(fatal) instead (lowercase severity name)."))) = fatal,
DEBUG4 = debug4, ERROR __attribute__((deprecated("Use LOG(error) instead (lowercase severity name)."))) = error,
DEBUG3 = debug3, WARN __attribute__((deprecated("Use LOG(warn) instead (lowercase severity name)."))) = warn,
DEBUG2 = debug2, WARNING __attribute__((deprecated("Use LOG(warning) instead (lowercase severity name)."))) = warn,
DEBUG1 = debug1, STATE __attribute__((deprecated("Use LOG(state) instead (lowercase severity name)."))) = state,
DEBUG = debug, INFO __attribute__((deprecated("Use LOG(info) instead (lowercase severity name)."))) = info,
INFO = info, DEBUG __attribute__((deprecated("Use LOG(debug) instead (lowercase severity name)."))) = debug,
STATE = state, DEBUG1 __attribute__((deprecated("Use LOG(debug1) instead (lowercase severity name)."))) = debug1,
WARNING = warn, DEBUG2 __attribute__((deprecated("Use LOG(debug2) instead (lowercase severity name)."))) = debug2,
WARN = warn, DEBUG3 __attribute__((deprecated("Use LOG(debug3) instead (lowercase severity name)."))) = debug3,
ERROR = error, DEBUG4 __attribute__((deprecated("Use LOG(debug4) instead (lowercase severity name)."))) = debug4,
FATAL = fatal TRACE __attribute__((deprecated("Use LOG(trace) instead (lowercase severity name)."))) = trace
}; };
// verbosity levels: // verbosity levels: