Skip to content

Svc::PassiveConsoleTextLogger Component

1. Introduction

The Svc::PassiveConsoleTextLogger is a passive component that prints the text version of events to stdout. It supports per-severity filtering and event ID filtering.

2. Requirements

Requirement Description Verification Method
ISF-PTL-001 The Svc::PassiveConsoleTextLogger component shall print received log texts to standard output. Inspection
ISF-PTL-002 The Svc::PassiveConsoleTextLogger component shall support per-severity event filtering via a public setSeverityFilter() method. Unit Test
ISF-PTL-003 The Svc::PassiveConsoleTextLogger component shall never filter FATAL events regardless of filter configuration. Unit Test

3. Design

3.1 Context

3.1.1 Component Diagram

The Svc::PassiveConsoleTextLogger component has one synchronous input port for receiving text events. All processing occurs in the caller's thread.

3.1.2 Ports

Port Data Type Name Direction Kind Usage
Fw::LogText TextLogger Input Synchronous Logging port

3.2 Functional Description

The Svc::PassiveConsoleTextLogger prints formatted event text to stdout via Fw::Logger::log.

3.2.1 Severity Filtering

The component supports per-severity event filtering via the setSeverityFilter(Fw::LogSeverity, bool) method. Each of the six filterable severity levels (WARNING_HI, WARNING_LO, COMMAND, ACTIVITY_HI, ACTIVITY_LO, DIAGNOSTIC) can be independently enabled or disabled. When a severity is disabled, events at that level are silently dropped. FATAL events are never filtered regardless of configuration.

Default filter states are configured via constants in PassiveTextLoggerCfg.hpp. By default, all severities pass through except DIAGNOSTIC, which is filtered out.

The filtering logic is provided by the shared Svc::EventSeverityFilter utility class.

4. Dictionaries

Not applicable

5. Module Checklists

6. Unit Testing

To see unit test coverage run fprime-util check --coverage

7. Change Log

Date Description
4/20/2017 Initial Version
2026 Added severity filtering documentation, requirements, and unit tests