zephyr/subsys/logging/log_output_custom.c

44 lines
1.1 KiB
C

/*
* Copyright (c) 2022 Converge
* Copyright (c) 2023 Nobleo Technology
*
* SPDX-License-Identifier: Apache-2.0
*/
#include <zephyr/logging/log.h>
#include <zephyr/logging/log_output.h>
#include <zephyr/logging/log_output_custom.h>
static log_format_func_t log_custom_format_func;
void log_custom_output_msg_process(const struct log_output *output, struct log_msg *msg,
uint32_t flags)
{
if (log_custom_format_func) {
log_custom_format_func(output, msg, flags);
}
}
void log_custom_output_msg_set(log_format_func_t format)
{
log_custom_format_func = format;
}
static log_timestamp_format_func_t log_timestamp_format_func;
int log_custom_timestamp_print(const struct log_output *output, const log_timestamp_t timestamp,
const log_timestamp_printer_t printer)
{
__ASSERT(log_timestamp_format_func != NULL, "custom timestamp format function not set");
if (log_timestamp_format_func) {
return log_timestamp_format_func(output, timestamp, printer);
}
return 0;
}
void log_custom_timestamp_set(log_timestamp_format_func_t format)
{
log_timestamp_format_func = format;
}