====== 15.4 Node Logs ====== [[fxdemo:05-part:start | Go To Top ]] [[fxdemo:05-part:15-logging-and-observability:start | Return to Logging and Observability ]] Each [[dido:99_annexes:annex-b-terms-and-definitions:n:node|Node]] should produce logs that explain its [[dido:99_annexes:annex-b-terms-and-definitions:l:lifecycle|Lifecycle]] and runtime behavior. Node logs should support diagnosis, review, and acceptance of [[dido:99_annexes:annex-b-terms-and-definitions:e:evidence|Evidence]]. Node logs should record: - Node startup. - Configuration source. - Node Identity and role. - [[dido:99_annexes:annex-b-terms-and-definitions:d:dds|DDS]] participant initialization. - Publisher and subscriber initialization. - Topic participation. - Lifecycle state changes. - Status publication. - Command receipt and command result, where applicable. - Data Plane publication or subscription events, where applicable. - Warnings and degraded conditions. - Recoverable and non-recoverable errors. - Controlled shutdown. - Exit result. Node logs should align with [[dido:99_annexes:annex-b-terms-and-definitions:c:control_plane|Control Plane]] status messages. If a Node publishes Running status, its logs should show the successful startup path that led to Running. If a Node publishes Failed status, its logs should identify the failure condition. If logs and status messages disagree, the team should treat that disagreement as a defect or open issue. Node logs should use the file header and inline documentation conventions defined in Section 7.10 where logging functions, logging wrappers, or logging configuration files require explanation. ---- © 2026 Dido Solutions, Inc. and Jackrabbit Consulting, Inc.