Component Architecture#

Log Architecture
status: draft
security: NO
safety: ASIL_B
tags: log

Overview#

Document describes Log component architecture.

Description#

Log component is modelled after the log library, which is ubiquitous in Rust ecosystem. This provides familiar APIs and syntax - provided APIs can be replaced at compile time with log.

Component provides new formatting functionality (replacement to core::fmt) to ensure improved flexibility in formatting on backend side. E.g., numeric types are formatted by the backend, and not by the core library.

Even though design is similar - existing log implementations are not compatible.

Rationale Behind Architecture Decomposition#

Architecture is not decomposed. Log component is a monolithic frontend.

Static Architecture#

Log (Static View)
status: valid
security: NO
safety: ASIL_B

Dynamic Architecture#

Register global logger
status: valid
security: NO
safety: ASIL_B
tags: log

Log with global logger instance
status: valid
security: NO
safety: ASIL_B
tags: log

Log with local logger instance
status: valid
security: NO
safety: ASIL_B
tags: log

Interfaces#

Log interface
status: valid
security: NO
safety: ASIL_B
tags: log
language: rust