diff --git a/subsys/logging/log_core.c b/subsys/logging/log_core.c index ce948bcf6c5..0dd2468d5c5 100644 --- a/subsys/logging/log_core.c +++ b/subsys/logging/log_core.c @@ -330,8 +330,14 @@ static uint32_t z_log_init(bool blocking, bool can_sleep) int backend_index = 0; - /* Activate autostart backends */ STRUCT_SECTION_FOREACH(log_backend, backend) { + uint32_t id; + /* As first slot in filtering mask is reserved, backend ID has offset.*/ + id = LOG_FILTER_FIRST_BACKEND_SLOT_IDX; + id += backend - log_backend_get(0); + log_backend_id_set(backend, id); + + /* Activate autostart backends */ if (backend->autostart) { log_backend_init(backend); diff --git a/subsys/logging/log_mgmt.c b/subsys/logging/log_mgmt.c index 85d5e578f47..a004a4ab27c 100644 --- a/subsys/logging/log_mgmt.c +++ b/subsys/logging/log_mgmt.c @@ -560,12 +560,6 @@ void log_backend_enable(struct log_backend const *const backend, void *ctx, uint32_t level) { - /* As first slot in filtering mask is reserved, backend ID has offset.*/ - uint32_t id = LOG_FILTER_FIRST_BACKEND_SLOT_IDX; - - id += backend - log_backend_get(0); - - log_backend_id_set(backend, id); backend->cb->level = level; backend_filter_set(backend, level); log_backend_activate(backend, ctx);