| # |
| # Copyright (c) 2016 Intel Corporation |
| # |
| # SPDX-License-Identifier: Apache-2.0 |
| # |
| menu "Logging Options" |
| |
| config SYS_LOG |
| bool "Enable Logging" |
| depends on PRINTK |
| help |
| Global switch for logging, when turned off log calls will not be |
| executed. |
| |
| config SYS_LOG_SHOW_TAGS |
| bool "Prepend level tags to logs" |
| depends on SYS_LOG |
| default y |
| help |
| Prefixes all log lines with an identifier to the log level submitted in |
| the C code. |
| |
| config SYS_LOG_SHOW_COLOR |
| bool "Use colored logs" |
| depends on SYS_LOG |
| help |
| Use color in the logs. This requires an ANSI capable terminal. |
| |
| config SYS_LOG_DEFAULT_LEVEL |
| int "Default log level" |
| depends on SYS_LOG |
| default 0 |
| range 0 4 |
| help |
| Sets log level for modules which don't specify it explicitly. When |
| set to 0 it means log wont be activated for those modules. |
| Levels are: |
| 0 OFF, do not write by default |
| 1 ERROR, default to only write SYS_LOG_ERR |
| 2 WARNING, default to write SYS_LOG_WRN in addition to previous level |
| 3 INFO, default to write SYS_LOG_INF in addition to previous levels |
| 4 DEBUG, default to write SYS_LOG_DBG in addition to previous levels |
| |
| config SYS_LOG_OVERRIDE_LEVEL |
| int "Override lowest log level" |
| depends on SYS_LOG |
| default 0 |
| range 0 4 |
| help |
| Forces a minimum log level for all modules. Modules use their |
| specified level if it is greater than this option, otherwise they use |
| the level specified by this option instead of their default or |
| whatever was manually set. |
| Levels are: |
| 0 OFF, do not override |
| 1 ERROR, override to write SYS_LOG_ERR |
| 2 WARNING, override to write SYS_LOG_WRN in addition to previous level |
| 3 INFO, override to write SYS_LOG_INF in addition to previous levels |
| 4 DEBUG, override to write SYS_LOG_DBG in addition to previous levels |
| |
| config SYS_LOG_EXT_HOOK |
| bool "Use external hook function for logging" |
| depends on SYS_LOG |
| help |
| Use external hook function for logging. |
| |
| config SYS_LOG_BACKEND_NET |
| bool "Networking syslog backend" |
| depends on SYS_LOG && NETWORKING |
| select SYS_LOG_EXT_HOOK |
| select NET_CONTEXT_NET_PKT_POOL |
| help |
| Send syslog messages to network server. |
| See RFC 5424 (syslog protocol) and RFC 5426 (syslog over UDP) |
| specifications for details. |
| |
| if SYS_LOG_BACKEND_NET |
| |
| config SYS_LOG_BACKEND_NET_SERVER |
| string "Syslog server IP address" |
| help |
| This can be either IPv4 or IPv6 address. |
| Server listen UDP port number can be configured here too. |
| Following syntax is supported: |
| 192.0.2.1:514 |
| 192.0.2.42 |
| [2001:db8::1]:514 |
| [2001:db8::2] |
| 2001:db::42 |
| |
| config SYS_LOG_BACKEND_NET_MAX_BUF |
| int "How many network buffers to allocate for sending messages" |
| range 3 256 |
| default 3 |
| help |
| Each syslog message will occupy one network buffer. |
| |
| config SYS_LOG_BACKEND_NET_MAX_BUF_SIZE |
| int "Max syslog message size" |
| range 64 1180 |
| default 256 |
| help |
| As each syslog message needs to fit to UDP packet, set this value |
| so that messages are not truncated. |
| The RFC 5426 recommends that for IPv4 the size is 480 octets and for |
| IPv6 the size is 1180 octets. As each buffer will use RAM, the value |
| should be selected so that typical messages will fit the buffer. |
| The total allocated memory will be |
| SYS_LOG_BACKEND_NET_MAX_BUF * SYS_LOG_BACKEND_NET_MAX_BUF_SIZE |
| |
| endif |
| |
| config LOG |
| bool "Enable Logger" |
| help |
| Global switch for the logger, when turned off log calls will not be |
| compiled in. |
| |
| if LOG |
| config LOG_RUNTIME_FILTERING |
| bool "Enable runtime reconfiguration of the logger" |
| help |
| Allow runtime configuration of maximal, independent severity |
| level for instance. |
| |
| choice |
| prompt "Log full strategy" |
| |
| config LOG_MODE_OVERFLOW |
| bool "Oldest logs are discarded" |
| |
| config LOG_MODE_NO_OVERFLOW |
| bool "New logs are dropped" |
| |
| endchoice |
| |
| config LOG_DEFAULT_LEVEL |
| int "Default log level" |
| default 3 |
| range 0 4 |
| help |
| Sets log level for modules which don't specify it explicitly. When |
| set to 0 it means log will not be activated for those modules. |
| Levels are: |
| |
| - 0 OFF, do not write by default |
| - 1 ERROR, default to only write LOG_LEVEL_ERR |
| - 2 WARNING, default to write LOG_LEVEL_WRN |
| - 3 INFO, default to write LOG_LEVEL_INFO |
| - 4 DEBUG, default to write LOG_LEVEL_DBG |
| |
| config LOG_OVERRIDE_LEVEL |
| int "Override lowest log level" |
| default 0 |
| range 0 4 |
| help |
| Forces a minimum log level for all modules. Modules use their |
| specified level if it is greater than this option, otherwise they use |
| the level specified by this option instead of their default or |
| whatever was manually set. |
| Levels are: |
| |
| - 0 OFF, do not override |
| - 1 ERROR, override to write LOG_LEVEL_ERR |
| - 2 WARNING, override to write LOG_LEVEL_WRN |
| - 3 INFO, override to write LOG_LEVEL_INFO |
| - 4 DEBUG, override to write LOG_LEVEL_DBG |
| |
| config LOG_MAX_LEVEL |
| int "Maximal log level compiled in the system" |
| default 4 |
| range 0 4 |
| help |
| Forces a maximal log level for all modules. Modules saturates their |
| specified level if it is greater than this option, otherwise they use |
| the level specified by this option instead of their default or |
| whatever was manually set. |
| Levels are: |
| |
| - 0 OFF, logging is turned off |
| - 1 ERROR, maximal level set to LOG_LEVEL_ERR |
| - 2 WARNING, maximal level set to LOG_LEVEL_WRN |
| - 3 INFO, maximal level set to LOG_LEVEL_INFO |
| - 4 DEBUG, maximal level set to LOG_LEVEL_DBG |
| |
| config LOG_PRINTK |
| bool "Enable processing of printk messages." |
| help |
| LOG_PRINTK messages are formatted in place and logged unconditionally. |
| |
| config LOG_PRINTK_MAX_STRING_LENGTH |
| int "Maximum string length supported by LOG_PRINTK" |
| depends on LOG_PRINTK |
| default 128 |
| help |
| Array is allocated on the stack. |
| |
| config LOG_INPLACE_PROCESS |
| bool "Enable in place processing" |
| 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). When enabled LOG_BUFFER_SIZE can be reduced. Logger |
| backends must support exclusive access to work flawlessly in that mode |
| because one log operation can be interrupted by another one in higher |
| priority context. |
| |
| config LOG_PROCESS_TRIGGER_THRESHOLD |
| int "Amount of buffered logs which triggers processing thread." |
| default 10 |
| help |
| When number of buffered messages reaches the threshold thread is waken |
| up. Log processing thread ID is provided during log initialization. |
| Set 0 to disable the feature. If LOG_PROCESS_THREAD is enabled then |
| this threshold is used by the internal thread. |
| |
| config LOG_PROCESS_THREAD |
| bool "Enable internal thread for log processing" |
| depends on MULTITHREADING |
| default y |
| help |
| When enabled thread is created by the logger subsystem. Thread is |
| waken up periodically (see LOG_PROCESS_THREAD_SLEEP_MS) and whenever |
| number of buffered messages exceeds the threshold (see |
| LOG_PROCESS_TRIGGER_THR). |
| |
| if LOG_PROCESS_THREAD |
| |
| config LOG_PROCESS_THREAD_SLEEP_MS |
| int "Set internal log processing thread sleep period" |
| default 1000 |
| help |
| Log processing thread sleeps for requested period given in |
| milliseconds. When waken up, thread process any buffered messages. |
| |
| config LOG_PROCESS_THREAD_PRIO |
| int "Priority of the log internal thread" |
| default -2 |
| help |
| Change with care since log processing can be time consuming thus it |
| should be on low priority. |
| |
| config LOG_PROCESS_THREAD_STACK_SIZE |
| int "Stack size for the internal log processing thread" |
| default 768 |
| help |
| Set the internal stack size for log processing thread. |
| |
| endif |
| |
| config LOG_BUFFER_SIZE |
| int "Number of bytes dedicated for the logger internal buffer." |
| default 1024 |
| range 128 65536 |
| help |
| Number of bytes dedicated for the logger internal buffer. |
| |
| config LOG_DOMAIN_ID |
| int "Domain ID" |
| default 0 |
| range 0 7 |
| help |
| In multicore system each application/core must have unique domain ID. |
| |
| config LOG_BACKEND_UART |
| bool "Enable UART backend" |
| depends on UART_CONSOLE |
| default y |
| help |
| When enabled backend is using UART to output logs. |
| |
| config LOG_BACKEND_UART_SHOW_COLOR |
| bool "Enable colors in the UART backend" |
| depends on LOG_BACKEND_UART |
| default y |
| help |
| When enabled UART backend prints errors in red and warning in yellow. |
| |
| config LOG_BACKEND_UART_FORMAT_TIMESTAMP |
| bool "Enable timestamp formatting in the UART backend" |
| depends on LOG_BACKEND_UART |
| default y |
| help |
| When enabled timestamp is formatted to hh:mm:ss:ms,us. |
| endif |
| endmenu |