25 template <std::
size_t N>
30 *_os <<
"{\"timestamp_ns\":" <<
event.timestampNs
32 <<
",\"category\":\"" <<
event.category <<
"\""
36 std::string_view msg =
event.view();
39 case '"': *_os <<
"\\\"";
break;
40 case '\\': *_os <<
"\\\\";
break;
41 case '\b': *_os <<
"\\b";
break;
42 case '\f': *_os <<
"\\f";
break;
43 case '\n': *_os <<
"\\n";
break;
44 case '\r': *_os <<
"\\r";
break;
45 case '\t': *_os <<
"\\t";
break;
46 default: *_os << c;
break;
50 *_os <<
"\"}\n" << std::flush;
54 std::ostream* _os{
nullptr};
Zero-heap fixed-capacity inline buffer log event record.
Structured JSON Lines (NDJSON) output log sink. Formats LogEvent records into JSON objects for struct...
Definition JsonLogSink.hpp:18
void write(const LogEventT< N > &event) const
Serialize log event as a single-line JSON string.
Definition JsonLogSink.hpp:26
JsonLogSink(std::ostream &outputStream) noexcept
Definition JsonLogSink.hpp:20
Definition ConsoleLogSink.hpp:12
constexpr const char * logLevelToString(LogLevel level) noexcept
Convert LogLevel enum to string representation.
Definition LogLevel.hpp:25
Zero-heap log event carrying fixed-size inline message buffer across MPSC event bus.
Definition LogEvent.hpp:21
LogLevel level
Definition LogEvent.hpp:22