zephyr/samples/subsys/logging/logger/src/ext_log_system_adapter.c
Kumar Gala 4fede8dd0b log: make name param explicit
Rather than having some implied name for the logging name, explicitly
pass it in the macros LOG_MODULE_REGISTER & LOG_MODULE_DECLARE.

Signed-off-by: Kumar Gala <kumar.gala@linaro.org>
Signed-off-by: Krzysztof Chruscinski <krzysztof.chruscinski@nordicsemi.no>
2018-09-11 13:25:55 -05:00

44 lines
991 B
C

/*
* Copyright (c) 2018 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
#include "ext_log_system_adapter.h"
#include "ext_log_system.h"
#define LOG_MODULE_NAME ext_log_system
#include <logging/log.h>
LOG_MODULE_REGISTER(ext_log_system);
/** @brief Translation of custom log levels to logging subsystem levels. */
static const u8_t log_level_lut[] = {
LOG_LEVEL_ERR, /* EXT_LOG_CRITICAL */
LOG_LEVEL_ERR, /* EXT_LOG_ERROR */
LOG_LEVEL_WRN, /* EXT_LOG_WARNING */
LOG_LEVEL_INF, /* EXT_LOG_NOTICE */
LOG_LEVEL_INF, /* EXT_LOG_INFO */
LOG_LEVEL_DBG /* EXT_LOG_DEBUG */
};
static void log_handler(enum ext_log_level level, const char *fmt, ...)
{
struct log_msg_ids src_level = {
.level = log_level_lut[level],
.domain_id = CONFIG_LOG_DOMAIN_ID,
.source_id = LOG_CURRENT_MODULE_ID()
};
va_list ap;
va_start(ap, fmt);
log_generic(src_level, fmt, ap);
va_end(ap);
}
void ext_log_system_log_adapt(void)
{
ext_log_handler_set(log_handler);
}