| /* |
| * 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 */ |