Loading...
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 | # # Copyright (c) 2016 Intel Corporation # # SPDX-License-Identifier: Apache-2.0 # menuconfig LOG bool "Logging" 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. 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 menu "Prepend log message with function name" config LOG_FUNC_NAME_PREFIX_ERR bool "Error messages prepended" config LOG_FUNC_NAME_PREFIX_WRN bool "Warning messages prepended" config LOG_FUNC_NAME_PREFIX_INF bool "Info messages prepended" config LOG_FUNC_NAME_PREFIX_DBG bool "Debug messages prepended" default y endmenu 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 depends on !LOG_IMMEDIATE default 128 help Array is allocated on the stack. config LOG_IMMEDIATE bool "Enable synchronous 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).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_ENABLE_FANCY_OUTPUT_FORMATTING depends on !NEWLIB_LIBC && !ARCH_POSIX bool "Format strings with minimal libc _prf() instead of _vprintk()" help Selecting this option will choose more robust _prf() function from minimal libc for handling format strings instead of the _vprintk() function. Choosing this option adds around ~3K flash and ~250 bytes on stack. if !LOG_IMMEDIATE 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_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_STACK_SIZE int "Stack size for the internal log processing thread" default 2048 if COVERAGE_GCOV default 1024 if NO_OPTIMIZATIONS default 1024 if XTENSA default 768 help Set the internal stack size for log processing thread. endif # LOG_PROCESS_THREAD 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_STRDUP_MAX_STRING int "Longest string that can be duplicated using log_strdup()" default 46 if NETWORKING default 32 help Longer strings are truncated. config LOG_STRDUP_BUF_COUNT int "Number of buffers in the pool used by log_strdup()" default 4 help Number of calls to log_strdup() which can be pending before flushed to output. If "<log_strdup alloc failed>" message is seen in the log output, it means this value is too small and should be increased. Each entry takes CONFIG_LOG_STRDUP_MAX_STRING bytes of memory plus some additional fixed overhead. endif # !LOG_IMMEDIATE 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_CMDS bool "Enable shell commands" depends on SHELL default y if SHELL config LOG_BACKEND_UART bool "Enable UART backend" depends on UART_CONSOLE default y if !SHELL_BACKEND_SERIAL help When enabled backend is using UART to output logs. config LOG_BACKEND_SWO bool "Enable Serial Wire Output (SWO) backend" depends on HAS_SWO help When enabled, backend will use SWO for logging. if LOG_BACKEND_SWO config LOG_BACKEND_SWO_FREQ_HZ int "Set SWO output frequency" default 0 help Set SWO output frequency. Value 0 will select maximum frequency supported by the given MCU. Not all debug probes support high frequency SWO operation. In this case the frequency has to be set manually. SWO value defined by this option will be configured at boot. Most SWO viewer programs will configure SWO frequency when attached to the debug probe. Such configuration will persist only until the device reset. To ensure flawless operation the frequency configured here and by the SWO viewer program has to match. endif # LOG_BACKEND_SWO config LOG_BACKEND_RTT bool "Enable Segger J-Link RTT backend" depends on USE_SEGGER_RTT default y if !SHELL_BACKEND_RTT help When enabled, backend will use RTT for logging. This backend works on a per message basis. Only a whole message (terminated with a carriage return: '\r') is transferred to up-buffer at once depending on available space and selected mode. In panic mode backend always blocks and waits until there is space in up-buffer for a message and message is transferred to host. if LOG_BACKEND_RTT choice prompt "Logger behavior" default LOG_BACKEND_RTT_MODE_BLOCK config LOG_BACKEND_RTT_MODE_DROP bool "Drop messages that do not fit in up-buffer." help If there is not enough space in up-buffer for a message, drop it. Number of dropped messages will be logged. Increase up-buffer size helps to reduce dropping of messages. config LOG_BACKEND_RTT_MODE_BLOCK bool "Block until message is transferred to host." help Waits until there is enough space in the up-buffer for a message. endchoice if LOG_BACKEND_RTT_MODE_DROP config LOG_BACKEND_RTT_MESSAGE_SIZE int "Size of internal buffer for storing messages." range 32 256 default 128 help This option defines maximum message size transferable to up-buffer. endif # LOG_BACKEND_RTT_MODE_DROP if LOG_BACKEND_RTT_MODE_BLOCK config LOG_BACKEND_RTT_OUTPUT_BUFFER_SIZE int "Size of the output buffer" default 16 help Buffer is used by log_output module for preparing output data (e.g. string formatting). config LOG_BACKEND_RTT_RETRY_CNT int "Number of retries" default 4 help Number of TX retries before dropping the data and assuming that RTT session is inactive. config LOG_BACKEND_RTT_RETRY_DELAY_MS int "Delay between TX retries in milliseconds" default 5 help Sleep period between TX retry attempts. During RTT session, host pulls data periodically. Period starts from 1-2 milliseconds and can be increased if traffic on RTT increases (also from host to device). In case of heavy traffic data can be lost and it may be necessary to increase delay or number of retries. endif # LOG_BACKEND_RTT_MODE_BLOCK config LOG_BACKEND_RTT_BUFFER int "Buffer number used for logger output." range 0 SEGGER_RTT_MAX_NUM_UP_BUFFERS default 0 help Select index of up-buffer used for logger output, by default it uses terminal up-buffer and its settings. if LOG_BACKEND_RTT_BUFFER > 0 config LOG_BACKEND_RTT_BUFFER_SIZE int "Size of reserved up-buffer for logger output." default 1024 help Specify reserved size of up-buffer used for logger output. endif # LOG_BACKEND_RTT_BUFFER # Enable processing of printk calls using log if terminal buffer is used. # Same buffer is used by RTT console. If printk would go through RTT console # that will lead to corruption of RTT data which is not protected against being # interrupted by an interrupt. config LOG_BACKEND_RTT_FORCE_PRINTK bool default y if LOG_BACKEND_RTT_BUFFER = 0 select LOG_PRINTK endif # LOG_BACKEND_RTT config LOG_BACKEND_NATIVE_POSIX bool "Enable native backend" depends on ARCH_POSIX help Enable backend in native_posix config LOG_BACKEND_XTENSA_SIM bool "Enable xtensa simulator backend" depends on SOC_XTENSA_SAMPLE_CONTROLLER help Enable backend in xtensa simulator config LOG_BACKEND_XTENSA_OUTPUT_BUFFER_SIZE int "Size of the output buffer" default 16 depends on LOG_BACKEND_XTENSA_SIM help Buffer is used by log_output module for preparing output data (e.g. string formatting). config LOG_BACKEND_NET bool "Enable networking backend" depends on NETWORKING 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 LOG_BACKEND_NET config 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 LOG_BACKEND_NET_MAX_BUF int "How many network buffers to allocate for sending messages" range 3 256 default 3 help Each syslog message should fit into a network packet that will be sent to server. This number tells how many syslog messages can be in transit to the server. config LOG_BACKEND_NET_MAX_BUF_SIZE int "Max syslog message size" range 64 1180 default 1180 if NET_IPV6 default 480 if NET_IPV4 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. endif # LOG_BACKEND_NET config LOG_BACKEND_SHOW_COLOR bool "Enable colors in the backend" depends on LOG_BACKEND_UART || LOG_BACKEND_NATIVE_POSIX || LOG_BACKEND_RTT \ || LOG_BACKEND_SWO || LOG_BACKEND_XTENSA_SIM default y help When enabled selected backend prints errors in red and warning in yellow. config LOG_BACKEND_FORMAT_TIMESTAMP bool "Enable timestamp formatting in the backend" depends on LOG_BACKEND_UART || LOG_BACKEND_NATIVE_POSIX || LOG_BACKEND_RTT \ || LOG_BACKEND_SWO || LOG_BACKEND_XTENSA_SIM default y help When enabled timestamp is formatted to hh:mm:ss:ms,us. endif # LOG |