Adding mechanism to all the backends to switch the logging formats at runtime while leveraging the function pointer table based upon the Kconfigs which also cleans up the logging backend design. Also demonstrate the working API with the changes to syst sample. Clean up Kconfig for backends and add a standard template to generate the Kconfigs for logging formats to be used by all backends. Signed-off-by: Aastha Grover <aastha.grover@intel.com>
38 lines
1.1 KiB
Plaintext
38 lines
1.1 KiB
Plaintext
# Copyright (c) 2022 Intel Corporation.
|
|
# SPDX-License-Identifier: Apache-2.0
|
|
|
|
choice "LOG_BACKEND_$(backend)_OUTPUT"
|
|
prompt "Backend Output Mode"
|
|
default LOG_BACKEND_$(backend)_OUTPUT_TEXT
|
|
|
|
config LOG_BACKEND_$(backend)_OUTPUT_TEXT
|
|
bool "Text"
|
|
help
|
|
Output in text.
|
|
|
|
config LOG_BACKEND_$(backend)_OUTPUT_SYST
|
|
bool "MIPI SyS-T"
|
|
depends on LOG_MIPI_SYST_ENABLE
|
|
help
|
|
When enabled backend is used to output syst format logs.
|
|
|
|
config LOG_BACKEND_$(backend)_OUTPUT_DICTIONARY
|
|
bool "Dictionary"
|
|
depends on LOG2
|
|
select LOG_DICTIONARY_SUPPORT
|
|
help
|
|
Backend is in dictionary-based logging output mode.
|
|
|
|
endchoice
|
|
|
|
# The numbering of the format types should be consistent across
|
|
# all the backends in the Kconfig and their values must match
|
|
# LOG_OUTPUT_XXX type in C files.
|
|
# Example : LOG_BACKEND_XXX_OUTPUT_TEXT should be numbered 0 across all backends
|
|
# and should match the value of LOG_OUTPUT_TEXT defined in log_output.h
|
|
config LOG_BACKEND_$(backend)_OUTPUT_DEFAULT
|
|
int
|
|
default 0 if LOG_BACKEND_$(backend)_OUTPUT_TEXT
|
|
default 1 if LOG_BACKEND_$(backend)_OUTPUT_SYST
|
|
default 2 if LOG_BACKEND_$(backend)_OUTPUT_DICTIONARY
|