logging: Deprecate v1, default to v2

Reduced logging mode selection to deferred, immediate, minimal and
frontend. Decoupled logging version from mode and created CONFIG_LOG1
which can be used to explicitly select deprecated version.

From now on, chosing CONFIG_LOG_MODE_{IMMEDIATE,DEFERRED} will result
in version2.

Deprecated CONFIG_LOG2_MODE_{IMMEDIATE,DEFERRED} with cmake warning.

Codebase adapted to those changes.

Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
This commit is contained in:
Krzysztof Chruscinski 2022-01-12 15:52:48 +01:00 committed by Anas Nashif
commit 262cc55609
47 changed files with 199 additions and 178 deletions

View file

@ -381,12 +381,12 @@ static void sync_hexdump(const struct log_backend *const backend,
const struct log_backend_api mock_log_backend_api = {
.process = IS_ENABLED(CONFIG_LOG2) ? process : NULL,
.put = IS_ENABLED(CONFIG_LOG_MODE_DEFERRED) ? put : NULL,
.put_sync_string = IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE) ?
.put = IS_ENABLED(CONFIG_LOG1_DEFERRED) ? put : NULL,
.put_sync_string = IS_ENABLED(CONFIG_LOG1_IMMEDIATE) ?
sync_string : NULL,
.put_sync_hexdump = IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE) ?
.put_sync_hexdump = IS_ENABLED(CONFIG_LOG1_IMMEDIATE) ?
sync_hexdump : NULL,
.panic = panic,
.init = mock_init,
.dropped = IS_ENABLED(CONFIG_LOG_IMMEDIATE) ? NULL : dropped,
.dropped = IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE) ? NULL : dropped,
};

View file

@ -331,7 +331,7 @@ static void test_log_overflow(void)
{
log_timestamp_t exp_timestamp = TIMESTAMP_INIT_VAL;
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE)) {
if (IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE)) {
ztest_test_skip();
}
@ -372,7 +372,7 @@ static void test_log_overflow(void)
exp_timestamp = TIMESTAMP_INIT_VAL;
hexdump_len = get_max_hexdump();
mock_log_backend_reset(&backend1);
if (IS_ENABLED(CONFIG_LOG2_MODE_DEFERRED)) {
if (IS_ENABLED(CONFIG_LOG2_DEFERRED)) {
/* Log2 allocation is not destructive if request exceeds the
* capacity.
*/
@ -577,7 +577,7 @@ static void log_n_messages(uint32_t n_msg, uint32_t exp_dropped)
*/
static void test_log_msg_dropped_notification(void)
{
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE)) {
if (IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE)) {
ztest_test_skip();
}
@ -639,7 +639,7 @@ static void *log_api_suite_setup(void)
{
PRINT("Configuration:\n");
PRINT("\t Mode: %s\n",
IS_ENABLED(CONFIG_LOG_IMMEDIATE) ? "Immediate" : "Deferred");
IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE) ? "Immediate" : "Deferred");
PRINT("\t Version: %s\n",
IS_ENABLED(CONFIG_LOG2) ? "v2" : "v1");
PRINT("\t Runtime filtering: %s\n",

View file

@ -6,25 +6,30 @@ common:
tests:
logging.log_api_deferred_overflow_rt_filter:
extra_configs:
- CONFIG_LOG1=y
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_LOG_MODE_OVERFLOW=y
- CONFIG_LOG_RUNTIME_FILTERING=y
logging.log_api_deferred_overflow:
extra_configs:
- CONFIG_LOG1=y
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_LOG_MODE_OVERFLOW=y
logging.log_api_deferred_no_overflow:
extra_configs:
- CONFIG_LOG1=y
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_LOG_MODE_OVERFLOW=n
logging.log_api_deferred_static_filter:
extra_configs:
- CONFIG_LOG1=y
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
logging.log_api_deferred_func_prefix:
extra_configs:
- CONFIG_LOG1=y
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
- CONFIG_LOG_FUNC_NAME_PREFIX_DBG=y
@ -32,15 +37,18 @@ tests:
logging.log_api_immediate:
extra_configs:
- CONFIG_LOG1=y
- CONFIG_LOG_MODE_IMMEDIATE=y
logging.log_api_immediate_rt_filter:
extra_configs:
- CONFIG_LOG1=y
- CONFIG_LOG_MODE_IMMEDIATE=y
- CONFIG_LOG_RUNTIME_FILTERING=y
logging.log_api_immediate_static_filter:
extra_configs:
- CONFIG_LOG1=y
- CONFIG_LOG_MODE_IMMEDIATE=y
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
@ -48,7 +56,7 @@ tests:
# FIXME:see #38041
platform_exclude: qemu_arc_hs6x
extra_configs:
- CONFIG_LOG2_MODE_DEFERRED=y
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_LOG_MODE_OVERFLOW=y
- CONFIG_LOG_RUNTIME_FILTERING=y
@ -56,28 +64,28 @@ tests:
# FIXME:see #38041
platform_exclude: qemu_arc_hs6x
extra_configs:
- CONFIG_LOG2_MODE_DEFERRED=y
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_LOG_MODE_OVERFLOW=y
logging.log2_api_deferred_no_overflow:
# FIXME:see #38041
platform_exclude: qemu_arc_hs6x
extra_configs:
- CONFIG_LOG2_MODE_DEFERRED=y
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_LOG_MODE_OVERFLOW=n
logging.log2_api_deferred_static_filter:
# FIXME:see #38041
platform_exclude: qemu_arc_hs6x
extra_configs:
- CONFIG_LOG2_MODE_DEFERRED=y
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
logging.log2_api_deferred_func_prefix:
# FIXME:see #38041
platform_exclude: qemu_arc_hs6x
extra_configs:
- CONFIG_LOG2_MODE_DEFERRED=y
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
- CONFIG_LOG_FUNC_NAME_PREFIX_DBG=y
@ -85,32 +93,32 @@ tests:
# FIXME:see #38041
platform_exclude: qemu_arc_hs6x
extra_configs:
- CONFIG_LOG2_MODE_DEFERRED=y
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_LOG_TIMESTAMP_64BIT=y
logging.log2_api_immediate:
# FIXME: qemu_arc_hs6x excluded, see #38041
platform_exclude: qemu_arc_hs6x
extra_configs:
- CONFIG_LOG2_MODE_IMMEDIATE=y
- CONFIG_LOG_MODE_IMMEDIATE=y
logging.log2_api_immediate_rt_filter:
# FIXME: qemu_arc_hs6x excluded, see #38041
platform_exclude: qemu_arc_hs6x
extra_configs:
- CONFIG_LOG2_MODE_IMMEDIATE=y
- CONFIG_LOG_MODE_IMMEDIATE=y
- CONFIG_LOG_RUNTIME_FILTERING=y
logging.log2_api_immediate_static_filter:
# FIXME: qemu_arc_hs6x excluded, see #38041
platform_exclude: qemu_arc_hs6x
extra_configs:
- CONFIG_LOG2_MODE_IMMEDIATE=y
- CONFIG_LOG_MODE_IMMEDIATE=y
- CONFIG_SAMPLE_MODULE_LOG_LEVEL_DBG=y
logging.log2_api_immediate_64b_timestamp:
# FIXME: qemu_arc_hs6x excluded, see #38041
platform_exclude: qemu_arc_hs6x
extra_configs:
- CONFIG_LOG2_MODE_IMMEDIATE=y
- CONFIG_LOG_MODE_IMMEDIATE=y
- CONFIG_LOG_TIMESTAMP_64BIT=y

View file

@ -75,7 +75,7 @@ static void dropped(struct log_backend const *const backend, uint32_t cnt)
}
const struct log_backend_api log_backend_test_api = {
.put = IS_ENABLED(CONFIG_LOG_MODE_DEFERRED) ? put : NULL,
.put = IS_ENABLED(CONFIG_LOG1_DEFERRED) ? put : NULL,
.process = IS_ENABLED(CONFIG_LOG2) ? process : NULL,
.panic = panic,
.dropped = dropped,
@ -240,13 +240,11 @@ void test_log_message_with_string(void)
/*test case main entry*/
void test_main(void)
{
PRINT("LOGGING MODE:%s\n", IS_ENABLED(CONFIG_LOG_MODE_DEFERRED) ? "DEFERREDv1" :
(IS_ENABLED(CONFIG_LOG2_MODE_DEFERRED) ? "DEFERREDv2" :
(IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE) ? "IMMEDIATEv1" :
"IMMEDIATEv2")));
PRINT("LOGGING MODE:%s\n", IS_ENABLED(CONFIG_LOG_MODE_DEFERRED) ? "DEFERRED" : "IMMEDIATE");
PRINT("VERSION:v%d\n", IS_ENABLED(CONFIG_LOG1) ? 1 : 2);
PRINT("\tOVERWRITE: %d\n", IS_ENABLED(CONFIG_LOG_MODE_OVERFLOW));
PRINT("\tBUFFER_SIZE: %d\n", CONFIG_LOG_BUFFER_SIZE);
if (IS_ENABLED(CONFIG_LOG2_MODE_DEFERRED)) {
if (!IS_ENABLED(CONFIG_LOG1)) {
PRINT("\tSPEED: %d", IS_ENABLED(CONFIG_LOG_SPEED));
}
ztest_test_suite(test_log_benchmark,

View file

@ -4,6 +4,7 @@ tests:
- native_posix
tags: logging
extra_configs:
- CONFIG_LOG1=y
- CONFIG_CBPRINTF_COMPLETE=y
- CONFIG_LOG_STRDUP_BUF_COUNT=8
- CONFIG_LOG_STRDUP_MAX_STRING=32
@ -15,6 +16,7 @@ tests:
tags: logging
platform_allow: qemu_x86 native_posix
extra_configs:
- CONFIG_LOG1=y
- CONFIG_CBPRINTF_COMPLETE=y
- CONFIG_LOG_STRDUP_BUF_COUNT=8
- CONFIG_LOG_STRDUP_MAX_STRING=32
@ -26,16 +28,16 @@ tests:
- native_posix
tags: logging
extra_configs:
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_CBPRINTF_COMPLETE=y
- CONFIG_LOG2_MODE_DEFERRED=y
logging.log_benchmark_v2_speed:
integration_platforms:
- native_posix
tags: logging
extra_configs:
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_CBPRINTF_COMPLETE=y
- CONFIG_LOG2_MODE_DEFERRED=y
- CONFIG_LOG_SPEED=y
logging.log_benchmark_user_v2:
@ -44,7 +46,6 @@ tests:
tags: logging
platform_allow: qemu_x86 native_posix
extra_configs:
- CONFIG_LOG_MODE_DEFERRED=y
- CONFIG_CBPRINTF_COMPLETE=y
- CONFIG_CBPRINTF_COMPLETE=y
- CONFIG_LOG2_MODE_DEFERRED=y
- CONFIG_TEST_USERSPACE=y

View file

@ -3,6 +3,7 @@ CONFIG_ZTEST=y
CONFIG_TEST_USERSPACE=y
CONFIG_TEST_LOGGING_DEFAULTS=n
CONFIG_LOG=y
CONFIG_LOG1=y
CONFIG_LOG_MODE_DEFERRED=y
CONFIG_LOG_PRINTK=n
CONFIG_LOG_RUNTIME_FILTERING=y

View file

@ -3,4 +3,4 @@ tests:
integration_platforms:
- native_posix
tags: log_core logging
filter: not CONFIG_LOG_IMMEDIATE
filter: not CONFIG_LOG_MODE_IMMEDIATE

View file

@ -2,7 +2,6 @@ CONFIG_MAIN_THREAD_PRIORITY=5
CONFIG_ZTEST=y
CONFIG_TEST_LOGGING_DEFAULTS=n
CONFIG_LOG=y
CONFIG_LOG2_MODE_DEFERRED=y
CONFIG_LOG_PRINTK=n
CONFIG_LOG_SPEED=y
CONFIG_LOG_BUFFER_SIZE=1024

View file

@ -3,6 +3,7 @@ CONFIG_ZTEST=y
CONFIG_TEST_USERSPACE=y
CONFIG_TEST_LOGGING_DEFAULTS=n
CONFIG_LOG=y
CONFIG_LOG1=y
CONFIG_LOG_RUNTIME_FILTERING=y
CONFIG_LOG_PROCESS_THREAD=n
CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD=1

View file

@ -2,6 +2,7 @@ CONFIG_MAIN_THREAD_PRIORITY=5
CONFIG_ZTEST=y
CONFIG_TEST_LOGGING_DEFAULTS=n
CONFIG_LOG=y
CONFIG_LOG1=y
CONFIG_LOG_RUNTIME_FILTERING=y
CONFIG_LOG_BACKEND_UART=y
CONFIG_LOG_PROCESS_TRIGGER_THRESHOLD=0

View file

@ -66,6 +66,10 @@ static void process(const struct log_backend *const backend,
uint32_t flags;
struct backend_cb *cb = (struct backend_cb *)backend->cb->ctx;
if (IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE)) {
cb->sync++;
}
if (cb->check_domain_id) {
zassert_equal(log_msg2_get_domain(&(msg->log)), CONFIG_LOG_DOMAIN_ID,
"Unexpected domain id");
@ -158,10 +162,10 @@ static void sync_hexdump(const struct log_backend *const backend,
const struct log_backend_api log_backend_test_api = {
.process = IS_ENABLED(CONFIG_LOG2) ? process : NULL,
.put = IS_ENABLED(CONFIG_LOG_MODE_DEFERRED) ? put : NULL,
.put_sync_string = IS_ENABLED(CONFIG_LOG_IMMEDIATE) ?
.put = IS_ENABLED(CONFIG_LOG1_DEFERRED) ? put : NULL,
.put_sync_string = IS_ENABLED(CONFIG_LOG1_IMMEDIATE) ?
sync_string : NULL,
.put_sync_hexdump = IS_ENABLED(CONFIG_LOG_IMMEDIATE) ?
.put_sync_hexdump = IS_ENABLED(CONFIG_LOG1_IMMEDIATE) ?
sync_hexdump : NULL,
};
@ -245,7 +249,7 @@ void test_log_domain_id(void)
/**
* @brief Synchronous processing of logging messages.
*
* @details if CONFIG_LOG_IMMEDIATE is enabled, log message is
* @details if CONFIG_LOG_MODE_IMMEDIATE is enabled, log message is
* handled immediately
*
* @addtogroup logging
@ -255,7 +259,7 @@ void test_log_sync(void)
{
TC_PRINT("Logging synchronousely\n");
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE)) {
if (IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE)) {
log_setup(false);
LOG_INF("Log immediately");
LOG_INF("Log immediately");
@ -278,7 +282,7 @@ void test_log_sync(void)
void test_log_early_logging(void)
{
if (IS_ENABLED(CONFIG_LOG_IMMEDIATE)) {
if (IS_ENABLED(CONFIG_LOG_MODE_IMMEDIATE)) {
ztest_test_skip();
} else {
log_init();
@ -505,7 +509,7 @@ void test_log_generic(void)
void test_log_msg2_create(void)
{
log_setup(false);
if (IS_ENABLED(CONFIG_LOG2)) {
if (!IS_ENABLED(CONFIG_LOG1) && IS_ENABLED(CONFIG_LOG_MODE_DEFERRED)) {
int mode;
domain = 3;

View file

@ -5,13 +5,14 @@ common:
tests:
logging.add.async:
tags: logging
extra_args: CONF_FILE=log2.conf
logging.add.sync:
tags: logging
extra_args: CONF_FILE=log_sync.conf
logging.add.user:
logging.add.log1_user:
tags: logging
filter: CONFIG_USERSPACE
extra_args: CONF_FILE=log_user.conf USERSPACE_TEST=1
logging.add.log2:
logging.add.log1:
tags: logging
extra_args: CONF_FILE=log2.conf
extra_args: CONF_FILE=prj.conf

View file

@ -4,3 +4,4 @@ CONFIG_TEST_LOGGING_DEFAULTS=n
CONFIG_LOG=y
CONFIG_LOG_PRINTK=n
CONFIG_LOG_MODE_DEFERRED=y
CONFIG_LOG1=y

View file

@ -2,7 +2,7 @@ CONFIG_MAIN_THREAD_PRIORITY=5
CONFIG_ZTEST=y
CONFIG_TEST_LOGGING_DEFAULTS=n
CONFIG_LOG=y
CONFIG_LOG2_MODE_DEFERRED=y
CONFIG_LOG_MODE_DEFERRED=y
CONFIG_LOG_PRINTK=n
CONFIG_LOG_SPEED=y
CONFIG_LOG_BUFFER_SIZE=1024