1# Copyright (c) 2021 Nordic Semiconductor ASA
2# SPDX-License-Identifier: Apache-2.0
3
4choice LOG_MODE
5	prompt "Mode"
6	default LOG_MODE_DEFERRED
7
8config LOG_MODE_DEFERRED
9	bool "Deferred logging"
10	select MPSC_PBUF
11	help
12	  Log messages are buffered and processed later. This mode has the
13	  least impact on the application. Time consuming processing is
14	  deferred to the known context.
15
16config LOG2_MODE_DEFERRED
17	bool "Deferred logging v2"
18	select MPSC_PBUF
19	select LOG2
20
21config LOG2_MODE_IMMEDIATE
22	bool "Synchronous v2"
23	select LOG2
24	select MPSC_PBUF
25	help
26	  When enabled log is processed in the context of the call. It impacts
27	  performance of the system since time consuming operations are
28	  performed in the context of the log entry (e.g. high priority
29	  interrupt).Logger backends must support exclusive access to work
30	  flawlessly in that mode because one log operation can be interrupted
31	  by another one in the higher priority context.
32
33config LOG_MODE_IMMEDIATE
34	bool "Synchronous"
35	select MPSC_PBUF
36	help
37	  When enabled log is processed in the context of the call. It impacts
38	  performance of the system since time consuming operations are
39	  performed in the context of the log entry (e.g. high priority
40	  interrupt).Logger backends must support exclusive access to work
41	  flawlessly in that mode because one log operation can be interrupted
42	  by another one in the higher priority context.
43
44
45config LOG_MODE_MINIMAL
46	bool "Minimal-footprint"
47	imply PRINTK
48	help
49	  Enable minimal logging implementation. This has very little footprint
50	  overhead on top of the printk() implementation for standard
51	  logging macros. Hexdump macros are also supported, with a small
52	  amount of code pulled in if used. Build time filtering is supported,
53	  but not runtime filtering. There are no timestamps, prefixes,
54	  colors, or asynchronous logging, and all messages are simply
55	  sent to printk().
56
57config LOG_FRONTEND
58	bool "Frontend"
59	help
60	  When enabled, logs are redirected to a custom frontend instead
61	  of being processed by the logger. In this mode runtime filtering and
62	  multiple backends are not used.
63
64endchoice
65
66config LOG2
67	bool
68
69config LOG_IMMEDIATE
70	bool
71	default y if LOG_MODE_IMMEDIATE
72	default y if LOG2_MODE_IMMEDIATE
73
74config LOG_MINIMAL
75	bool
76	imply PRINTK
77	default y if LOG_MODE_MINIMAL
78