I am not able to set log level dynamically within app

Hi,

I'd like to set log level within the app but without success. I am browsing through https://docs.nordicsemi.com/bundle/ncs-2.5.2/page/zephyr/services/logging/index.html but I am not sure what I am doing wrong.

I have a 9161 based custom board which uses RTT and also redirects console to uart2 as follows:

/dts-v1/;
#include <nordic/nrf9161ns_laca.dtsi>
#include "msdk1_nrf9161_common.dtsi"

/ {
	chosen {
		zephyr,flash = &flash0;
		zephyr,sram = &sram0_ns;
		zephyr,code-partition = &slot0_ns_partition;
		zephyr,console = &uart2;
        zephyr,uart-console = &uart2;
	};
};

My prj.conf:

#
# Copyright (c) 2020 Nordic Semiconductor ASA
#
# SPDX-License-Identifier: LicenseRef-Nordic-5-Clause
#


CONFIG_CLOCK_CONTROL=y

#### "debugging" ##########################################
### debug network timing
# CONFIG_NET_LOG=y
### debug MQTT timing
# CONFIG_MQTT_LOG_LEVEL_DBG=y
### debug optimizations (-Og)
CONFIG_DEBUG=y
CONFIG_DEBUG_OPTIMIZATIONS=y
CONFIG_DEBUG_THREAD_INFO=y
### to try to debug unwanted soft resets (n=not resetting):
### debugging threads
# CONFIG_THREAD_ANALYZER=y
# CONFIG_THREAD_ANALYZER_AUTO=y

CONFIG_LOG_RUNTIME_FILTERING=y  # Enable runtime log level changes

CONFIG_RESET_ON_FATAL_ERROR=n
# Enable SEGGER RTT
CONFIG_LOG=y
# CONFIG_USE_SEGGER_RTT=y
CONFIG_LOG_BACKEND_RTT=y
CONFIG_LOG_BACKEND_UART=y
# Increase the log buffer size (in bytes)
CONFIG_LOG_BUFFER_SIZE=8192
# Enable asynchronous logging (optional, for better performance)
CONFIG_LOG_MODE_IMMEDIATE=n
CONFIG_LOG_MODE_DEFERRED=y

CONFIG_TFM_CRYPTO_KEY_DERIVATION_MODULE_ENABLED=y
#
# CONFIG_LOG_MODE_IMMEDIATE=y
#
CONFIG_NVS_LOG_LEVEL_DBG=y
# CPU load
#CONFIG_CPU_LOAD_LOG_PERIODIC=y
#CONFIG_CPU_LOAD_LOG_INTERVAL=1000

### NVS
CONFIG_FLASH=y
CONFIG_FLASH_PAGE_LAYOUT=y
CONFIG_NVS=y
CONFIG_REBOOT=y
CONFIG_MPU_ALLOW_FLASH_WRITE=y

# CONFIG_REBOOT=n
#
### SECURE TFM logging
### disabling logging of TF-M
CONFIG_TFM_LOG_LEVEL_SILENCE=y
### forward TF-M secure logging to the same UART as application logging (comment the previous)
# CONFIG_TFM_SECURE_UART=y
# CONFIG_TFM_SECURE_UART_SHARE_INSTANCE=y
# CONFIG_TFM_SECURE_UART0=y
# CONFIG_TFM_PARTITION_LOG_LEVEL_DEBUG=y
# CONFIG_TFM_SPM_LOG_LEVEL_DEBUG=y
# Dump exception info. Must be combined with enabling log output.
# CONFIG_TFM_EXCEPTION_INFO_DUMP=y
#############################################################

# CONFIG_NEWLIB_LIBC_NANO=n

# Enable snprintf float
CONFIG_NEWLIB_LIBC_FLOAT_PRINTF=y

### Possible solution for Fatal error???
# Don't use the minimal TF-M configuration as that doesn't support logging
CONFIG_TFM_PROFILE_TYPE_NOT_SET=y

### Memory
CONFIG_MAIN_STACK_SIZE=2048
CONFIG_HEAP_MEM_POOL_SIZE=4096
CONFIG_ISR_STACK_SIZE=4096

# try to increase MODEM library heap size:
# CONFIG_NRF_MODEM_LIB_HEAP_SIZE=4096

# Modem trace
CONFIG_AT_HOST_LIBRARY=y

# uart
CONFIG_UART_ASYNC_API=y
# ! the following must be done not to loosing RX characters: assigning timer 2 to RX processing:
#CONFIG_HAS_HW_NRF_UARTE1=y
#CONFIG_UART_ASYNC_API=y
#CONFIG_HAS_HW_NRF_UARTE1=y
CONFIG_UART_NRFX=y
CONFIG_UART_1_NRF_HW_ASYNC=y
CONFIG_UART_1_NRF_HW_ASYNC_TIMER=2
# if dynamic uart configuration needed
CONFIG_UART_USE_RUNTIME_CONFIGURE=y

# Newlib
CONFIG_NEWLIB_LIBC=y

# Networking
CONFIG_NETWORKING=y
CONFIG_NET_NATIVE=n
CONFIG_NET_SOCKETS_OFFLOAD=y
CONFIG_NET_SOCKETS=y
CONFIG_NET_SOCKETS_POSIX_NAMES=y

# Modem library
CONFIG_NRF_MODEM_LIB=y

# LTE link control
CONFIG_LTE_LINK_CONTROL=y
CONFIG_LTE_NETWORK_MODE_LTE_M_NBIOT=y

# MQTT
CONFIG_MQTT_LIB=y
CONFIG_MQTT_CLEAN_SESSION=y

#ADC
CONFIG_ADC=y

#I2C, IMU
CONFIG_I2C=y
 

Initialisation:

LOG_MODULE_REGISTER(main, LOG_LEVEL_DBG);

When I am trying to do, for example:

log_filter_set(NULL, 0, CONFIG_LOG_DOMAIN_ID, LOG_LEVEL_ERR);
I observe the default logging behavior without change.
Big thanks in advance for any help.
Related