#
# Copyright (c) 2016 Intel Corporation
#
# SPDX-License-Identifier: Apache-2.0
#
menu "Logging Options"

config SYS_LOG
	bool
	prompt "Enable Logging"
	depends on PRINTK
	default n
	help
	  Global switch for logging, when turned off log calls will not be
	  executed.

config SYS_LOG_SHOW_TAGS
	bool
	prompt "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
	prompt "Use colored logs"
	depends on SYS_LOG
	default n
	help
	  Use color in the logs. This requires an ANSI capable terminal.

config SYS_LOG_DEFAULT_LEVEL
	int
	prompt "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
	prompt "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
	prompt "Use external hook function for logging"
	depends on SYS_LOG
	default n
	help
	  Use external hook function for logging.
endmenu

