zephyr/subsys/logging/Kconfig.mode

78 lines
2.3 KiB
Plaintext

# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0
choice LOG_MODE
prompt "Mode"
default LOG_MODE_DEFERRED
config LOG_MODE_DEFERRED
bool "Deferred logging"
select MPSC_PBUF
help
Log messages are buffered and processed later. This mode has the
least impact on the application. Time consuming processing is
deferred to the known context.
config LOG2_MODE_DEFERRED
bool "Deferred logging v2"
select MPSC_PBUF
select LOG2
config LOG2_MODE_IMMEDIATE
bool "Synchronous v2"
select LOG2
select MPSC_PBUF
help
When enabled log is processed in the context of the call. It impacts
performance of the system since time consuming operations are
performed in the context of the log entry (e.g. high priority
interrupt).Logger backends must support exclusive access to work
flawlessly in that mode because one log operation can be interrupted
by another one in the higher priority context.
config LOG_MODE_IMMEDIATE
bool "Synchronous"
select MPSC_PBUF
help
When enabled log is processed in the context of the call. It impacts
performance of the system since time consuming operations are
performed in the context of the log entry (e.g. high priority
interrupt).Logger backends must support exclusive access to work
flawlessly in that mode because one log operation can be interrupted
by another one in the higher priority context.
config LOG_MODE_MINIMAL
bool "Minimal-footprint"
imply PRINTK
help
Enable minimal logging implementation. This has very little footprint
overhead on top of the printk() implementation for standard
logging macros. Hexdump macros are also supported, with a small
amount of code pulled in if used. Build time filtering is supported,
but not runtime filtering. There are no timestamps, prefixes,
colors, or asynchronous logging, and all messages are simply
sent to printk().
config LOG_FRONTEND
bool "Frontend"
help
When enabled, logs are redirected to a custom frontend instead
of being processed by the logger. In this mode runtime filtering and
multiple backends are not used.
endchoice
config LOG2
bool
config LOG_IMMEDIATE
bool
default y if LOG_MODE_IMMEDIATE
default y if LOG2_MODE_IMMEDIATE
config LOG_MINIMAL
bool
imply PRINTK
default y if LOG_MODE_MINIMAL