docs(logs): clarify logger format handling#4149
Conversation
Assisted-by: OpenAI Codex
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## main #4149 +/- ##
=======================================
Coverage 82.07% 82.07%
=======================================
Files 386 386
Lines 16211 16211
=======================================
Hits 13303 13303
Misses 2908 2908
🚀 New features to boost your workflow:
|
| * @param severity severity of the log | ||
| * @param event_id event identifier of the log | ||
| * @param format an utf-8 string following https://messagetemplates.org/ | ||
| * @param format a UTF-8 string stored as the log record body |
There was a problem hiding this comment.
I think the new note about no SDK-side interpolation is useful, but should we avoid removing the message-template intent entirely? My understanding is that format was kept as a user-facing API concept so custom exporters or upstream agents could interpret it as a message template, even though the OpenTelemetry spec does not require the SDK itself to format it. Maybe this should say that the SDK stores the string as the log record body and does not interpolate attributes, while preserving that exporters/agents may choose to interpret it as a message template.
cc @ThomsonTan - I believe he added the original comment.
Description
Clarifies the logger API documentation for the
formatparameter. The current wording links to message templates, which can imply that placeholders are interpolated from attributes. This change documents the current behavior: the format string is stored as the log record body, and structured data should be passed through attributes.Fixes #2628
Type of change
Verification
git diff --checkscripts/assert-cncf-github-identity.ps1 -RepoPath upstreams\open-telemetry\opentelemetry-cppNo runtime behavior changed.