| # Copyright (c) 2016 Intel Corporation |
| # SPDX-License-Identifier: Apache-2.0 |
| |
| menu "Logging" |
| |
| config LOG |
| bool "Logging" |
| select PRINTK if USERSPACE |
| help |
| Global switch for the logger, when turned off log calls will not be |
| compiled in. |
| |
| if LOG |
| |
| config LOG_CORE_INIT_PRIORITY |
| int "Log Core Initialization Priority" |
| range 0 99 |
| default 0 |
| |
| rsource "Kconfig.mode" |
| |
| rsource "Kconfig.filtering" |
| |
| rsource "Kconfig.processing" |
| |
| if !LOG_MODE_MINIMAL |
| |
| rsource "Kconfig.formatting" |
| |
| if !LOG_FRONTEND_ONLY |
| |
| rsource "backends/Kconfig" |
| |
| endif # !LOG_FRONTEND_ONLY |
| |
| endif # !LOG_MODE_MINIMAL |
| |
| if LOG_FRONTEND |
| |
| rsource "frontends/Kconfig" |
| |
| endif #LOG_FRONTEND |
| |
| if LOG_MULTIDOMAIN |
| |
| rsource "Kconfig.links" |
| |
| endif |
| |
| rsource "Kconfig.misc" |
| |
| config LOG_RATELIMIT |
| bool "Rate-limited logging macros" |
| default y |
| help |
| When enabled, provides rate-limited logging macros that prevent |
| log flooding when messages are generated frequently. Rate limiting |
| is per-macro-call-site, meaning each unique call has its own |
| independent rate limit. |
| |
| if LOG_RATELIMIT |
| |
| config LOG_RATELIMIT_INTERVAL_MS |
| int "Default rate limit interval (milliseconds)" |
| default 5000 |
| range 100 60000 |
| help |
| Default interval between rate-limited log messages. |
| This is used by the convenience macros LOG_*_RATELIMIT |
| when no explicit rate is provided. Can be overridden per call |
| using LOG_*_RATELIMIT_RATE macros. |
| |
| endif # LOG_RATELIMIT |
| |
| if !LOG_RATELIMIT |
| |
| choice LOG_RATELIMIT_FALLBACK |
| prompt "Fallback behavior for rate-limited logging macros" |
| default LOG_RATELIMIT_FALLBACK_DROP |
| help |
| Select fallback behavior for rate-limited logging macros when |
| LOG_RATELIMIT is disabled. |
| |
| - "Log all prints": All log prints are output, i.e., rate limiting is ignored. |
| - "Drop all prints": All log prints using rate-limited macros are dropped. |
| |
| This option allows you to control whether rate-limited log macros |
| should always print or be completely suppressed when rate limiting |
| is not available. |
| |
| config LOG_RATELIMIT_FALLBACK_LOG |
| bool "Log all prints (ignore rate limiting)" |
| help |
| All log prints using rate-limited macros are output as normal logs. |
| |
| config LOG_RATELIMIT_FALLBACK_DROP |
| bool "Drop all prints" |
| help |
| All log prints using rate-limited macros are dropped (no output). |
| |
| endchoice |
| |
| endif # !LOG_RATELIMIT |
| |
| endif # LOG |
| |
| config LOG_OUTPUT |
| bool "Formatter helper" |
| help |
| Module which provides formatting of log messages to a human-readable |
| strings. |
| |
| endmenu |