1# Copyright (c) 2021 Nordic Semiconductor ASA 2# SPDX-License-Identifier: Apache-2.0 3 4choice LOG_MODE 5 prompt "Mode" 6 depends on !LOG_FRONTEND_ONLY 7 default LOG_MODE_IMMEDIATE if ARCH_POSIX 8 default LOG_MODE_MINIMAL if LOG_DEFAULT_MINIMAL 9 default LOG_MODE_DEFERRED 10 11config LOG_MODE_DEFERRED 12 bool "Deferred logging" 13 select MPSC_PBUF 14 help 15 Log messages are buffered and processed later. This mode has the 16 least impact on the application. Time consuming processing is 17 deferred to the known context. 18 19config LOG_MODE_IMMEDIATE 20 bool "Synchronous" 21 help 22 When enabled log is processed in the context of the call. It impacts 23 performance of the system since time consuming operations are 24 performed in the context of the log entry (e.g. high priority 25 interrupt).Logger backends must support exclusive access to work 26 flawlessly in that mode because one log operation can be interrupted 27 by another one in the higher priority context. 28 29config LOG_MODE_MINIMAL 30 bool "Minimal-footprint" 31 select PRINTK 32 help 33 Enable minimal logging implementation. This has very little footprint 34 overhead on top of the printk() implementation for standard 35 logging macros. Hexdump macros are also supported, with a small 36 amount of code pulled in if used. Build time filtering is supported, 37 but not runtime filtering. There are no timestamps, prefixes, 38 colors, or asynchronous logging, and all messages are simply 39 sent to printk(). 40 41endchoice 42 43config LOG_FRONTEND 44 bool "Frontend" 45 help 46 When enabled, logs are redirected to a custom frontend which is the 47 fastest way of getting logs out. The logs are redirected at the function 48 level. To redirect logs at the macro level, see LOG_CUSTOM_HEADER. 49 50config LOG_FRONTEND_ONLY 51 bool "No backends" 52 depends on LOG_FRONTEND 53 help 54 Option indicates that there are no backends intended to be used. 55 Code asserts if any backend is enabled. 56 57config LOG_FRONTEND_OPT_API 58 bool "Frontend optimized API" 59 help 60 When enabled, frontend implements functions which are optimized versions 61 used for the most common log messages. 62 63config LOG_CUSTOM_HEADER 64 bool "Include Custom Log Header" 65 help 66 When enabled, a custom application provided header, named 67 "zephyr_custom_log.h", is included at the end of log.h. This enables 68 extension of the LOG_* APIs at the macro level. Please use cautiously! 69 The internal LOG API may change in future releases. 70 71config LOG_DEFAULT_MINIMAL 72 bool 73 74config LOG_MULTIDOMAIN 75 bool "Multi-domain logger" 76 select LOG_TIMESTAMP_64BIT 77