Log Bridge Configuration
The ros2_medkit_log_bridge node turns /rosout messages into faults, so a
node that only ever logged a problem still shows up in the fault list without
being changed.
Overview
The bridge subscribes to /rosout, keeps the messages at or above a severity
floor, derives a fault code from the logging node and the message, and reports
it through the same ReportFault path any node would use.
Two things bound the volume. Messages at WARN pass through each node’s
FaultReporter local filter, which debounces on a threshold and a window;
ERROR and FATAL bypass that filter, so the bridge applies its own
cooldown to those two levels instead. That cooldown is keyed by the generated
fault code together with the severity, not by the node: a repeat of the same
message is suppressed, while a different message from the same node is not, and
an ERROR is never suppressed by an earlier WARN of the same text.
Parameters
log_bridge:
ros__parameters:
rosout_topic: "/rosout"
severity_floor: 30 # WARN
code_prefix: "LOG"
exclude_nodes: []
include_only_nodes: []
max_tracked_nodes: 512
report_cooldown_sec: 5.0
exclude_medkit_stack: true
Parameter |
Default |
Description |
|---|---|---|
|
|
Topic the bridge subscribes to. |
|
|
Lowest rcutils log level that becomes a fault. Useful values are |
|
|
Prefix of every generated fault code. Normalized to upper snake case and
truncated to 32 characters, so it cannot produce a code outside the
|
|
|
Node names whose logs are ignored. |
|
|
When non-empty, only these nodes are considered. |
|
|
How many distinct source nodes the bridge tracks. Bounds memory when node
names are generated. Range: 1 to 2147483647 (the value becomes an
|
|
|
Minimum gap between two reports carrying the same generated fault code at
the same severity. Applies to |
|
|
Ignore logs from medkit’s own nodes, so the diagnostics stack does not report on itself. |
See Also
Fault Manager Configuration - where the reported faults land
Diagnostic Bridge Configuration - the same idea for
/diagnostics