blob: 4d4008cd5f1b948cef612b58a4cc5466cd86b3a1 [file] [log] [blame]
/*
* Copyright (c) 2018 Nordic Semiconductor ASA
*
* SPDX-License-Identifier: Apache-2.0
*/
#ifndef EXT_LOG_SYSTEM_H
#define EXT_LOG_SYSTEM_H
#ifdef __cplusplus
extern "C" {
#endif
/** Log message priority levels */
enum ext_log_level {
EXT_LOG_CRITICAL,
EXT_LOG_ERROR,
EXT_LOG_WARNING,
EXT_LOG_NOTICE,
EXT_LOG_INFO,
EXT_LOG_DEBUG
};
/** Log message handler type. */
typedef void (*ext_log_handler)(enum ext_log_level level,
const char *format, ...);
/** @brief Set log handler function.
*
* @param handler External log handler.
*/
void ext_log_handler_set(ext_log_handler handler);
/** @brief Example function which is using custom log API. */
void ext_log_system_foo(void);
/** @brief Custom log API. */
#define ext_log(level, ...) log_handler(level, __VA_ARGS__)
#ifdef __cplusplus
}
#endif
#endif /* EXT_LOG_SYSTEM_H */