aboutsummaryrefslogtreecommitdiff
path: root/src/zencore/string.cpp
diff options
context:
space:
mode:
authorStefan Boberg <[email protected]>2026-04-22 12:35:46 +0200
committerGitHub Enterprise <[email protected]>2026-04-22 12:35:46 +0200
commit8b42ed4b6e995ac0336d1abe6425cfadf239f8d2 (patch)
treecf447d4802c9bbdc782c6799705eb8bbe64c5f6c /src/zencore/string.cpp
parentdashboard prominent version (#1009) (diff)
downloadarchived-zen-8b42ed4b6e995ac0336d1abe6425cfadf239f8d2.tar.xz
archived-zen-8b42ed4b6e995ac0336d1abe6425cfadf239f8d2.zip
Zen-style trace log events (#1006)
Replaces the old (not fully implemented) UE `Logging.*` sink with a typed `ZenLog.*` trace path that preserves structured fmt args end-to-end, so the zen trace analyzer (and future consumers) can re-render log messages with full formatter support. - Hook `Logger::Log` to tap `fmt::format_args` before `vformat` renders them, and emit three new events on a dedicated `ZenLogChannel`: `Category`, `MessageSpec`, `Message`. Args are serialized as `[count][descriptors][payload]` with distinct categories for bool, int, float, and string. Custom formatters fall back to a pre-rendered string. - Bool has its own wire category so `{}` renders as `true`/`false` and `{:d}` as `1`/`0`. - Zen `LogLevel` is translated to UE `ELogVerbosity` on emit so severity filtering works consistently. - Extend the zen trace analyzer to decode `ZenLog.*` via `fmt::vformat` + `dynamic_format_arg_store` — nested widths, chrono specs, etc. all work. Strings are passed as views directly from the event payload (which outlives the format call) rather than copied through a pool. - Retire the old `TraceSink` stub; the typed path supersedes it. - Switch `--trace=default` alias from `cpu,log` to `cpu,zenlog`. - Add `__int128` overloads to the arg encoder guarded by `FMT_USE_INT128` so fmt's int128 dispatch resolves unambiguously on clang/gcc. MSVC and clang-cl are unaffected.
Diffstat (limited to 'src/zencore/string.cpp')
0 files changed, 0 insertions, 0 deletions