Skip to content

Add logging abstractions to MeshCore#2004

Open
mthiffau wants to merge 1 commit intomeshcore-dev:mainfrom
mthiffau:output_abstraction
Open

Add logging abstractions to MeshCore#2004
mthiffau wants to merge 1 commit intomeshcore-dev:mainfrom
mthiffau:output_abstraction

Conversation

@mthiffau
Copy link

@mthiffau mthiffau commented Mar 11, 2026

Context: GitHub discussion

This change introduces a Logger interface class which contains a small but useful set of logging functions that I believe cover all of the logging cases currently in the repository.

There are header files for debug, packet, and bridge logging. Each header contains an extern declaration for a logger with type Logger& (eg. extern Logger& debugLog;).

By default, the global ::mesh::debugLog is set to an implementation which calls the Arduino Serial instance in most cases. ::mesh::packetLog and ::mesh::bridgeLog are set to be references to ::mesh::debugLog.

Any subset of the loggers can be overriden by defining one or more of CUSTOM_DEBUG_LOG, CUSTOM_PACKET_LOG, and CUSTOM_BRIDGE_LOG in one's build configuration and then providing an alternate definition of the corresponding global logger reference.

This change introduces a `Logger` interface class which contains
a small but useful set of logging functions that I believe cover
all of the logging cases currently in the repository.

There are header files for debug, packet, and bridge logging. Each
header contains an extern declaration for a logger with type
`Logger&` (eg. `extern Logger& debugLog;`).

By default, the global `::mesh::debugLog` is set to an
implementation which calls the Arduino `Serial` instance in most
cases. `::mesh::packetLog` and `::mesh::bridgeLog` are set to be
references to `::mesh::debugLog`.

Any subset of the loggers can be overriden by defining one or more
of CUSTOM_DEBUG_LOG, CUSTOM_PACKET_LOG, and CUSTOM_BRIDGE_LOG in
one's build configuration and then providing an alternate
definition of the corresponding global logger reference.
@mthiffau mthiffau force-pushed the output_abstraction branch from 6140238 to 0ff12d0 Compare March 12, 2026 03:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant