Linux Audio

Check our new training course

Embedded Linux Audio

Check our new training course
with Creative Commons CC-BY-SA
lecture materials

Bootlin logo

Elixir Cross Referencer

Loading...
# Copyright (c) 2021 Nordic Semiconductor ASA
# SPDX-License-Identifier: Apache-2.0

choice LOG_MODE
	prompt "Mode"
	depends on !LOG_FRONTEND_ONLY
	default LOG_MODE_MINIMAL if LOG_DEFAULT_MINIMAL
	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 LOG_MODE_IMMEDIATE
	bool "Synchronous"
	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"
	select 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().

endchoice

config LOG_FRONTEND
	bool "Frontend"
	help
	  When enabled, logs are redirected to a custom frontend which is the
	  fastest way of getting logs out. The logs are redirected at the function
	  level. To redirect logs at the macro level, see LOG_CUSTOM_HEADER.

config LOG_FRONTEND_ONLY
	bool "No backends"
	depends on LOG_FRONTEND
	help
	  Option indicates that there are no backends intended to be used.
	  Code asserts if any backend is enabled.

config LOG_CUSTOM_HEADER
	bool "Include Custom Log Header"
	help
	  When enabled, a custom application provided header, named
	  "zephyr_custom_log.h", is included at the end of log.h. This enables
	  extension of the LOG_* APIs at the macro level. Please use cautiously!
	  The internal LOG API may change in future releases.

config LOG_DEFAULT_MINIMAL
	bool

config LOG_MULTIDOMAIN
	bool "Multi-domain logger"
	select LOG_TIMESTAMP_64BIT