logging: add syst format output
Add syst format output support for existing logging system. Fixes: #19841. Signed-off-by: Wentong Wu <wentong.wu@intel.com>
This commit is contained in:
parent
86bf182f55
commit
dd9480913e
7 changed files with 275 additions and 0 deletions
|
@ -49,6 +49,14 @@ typedef int (*out_func_t)(int c, void *ctx);
|
|||
extern int z_prf(int (*func)(), void *dest, char *format, va_list vargs);
|
||||
extern void z_vprintk(out_func_t out, void *log_output,
|
||||
const char *fmt, va_list ap);
|
||||
extern void log_output_msg_syst_process(const struct log_output *log_output,
|
||||
struct log_msg *msg, u32_t flag);
|
||||
extern void log_output_string_syst_process(const struct log_output *log_output,
|
||||
struct log_msg_ids src_level,
|
||||
const char *fmt, va_list ap, u32_t flag);
|
||||
extern void log_output_hexdump_syst_process(const struct log_output *log_output,
|
||||
struct log_msg_ids src_level,
|
||||
const u8_t *data, u32_t length, u32_t flag);
|
||||
|
||||
/* The RFC 5424 allows very flexible mapping and suggest the value 0 being the
|
||||
* highest severity and 7 to be the lowest (debugging level) severity.
|
||||
|
@ -514,6 +522,12 @@ void log_output_msg_process(const struct log_output *log_output,
|
|||
bool raw_string = (level == LOG_LEVEL_INTERNAL_RAW_STRING);
|
||||
int prefix_offset;
|
||||
|
||||
if (IS_ENABLED(CONFIG_LOG_MIPI_SYST_ENABLE) &&
|
||||
flags & LOG_OUTPUT_FLAG_FORMAT_SYST) {
|
||||
log_output_msg_syst_process(log_output, msg, flags);
|
||||
return;
|
||||
}
|
||||
|
||||
prefix_offset = raw_string ?
|
||||
0 : prefix_print(log_output, flags, std_msg, timestamp,
|
||||
level, domain_id, source_id);
|
||||
|
@ -555,6 +569,13 @@ void log_output_string(const struct log_output *log_output,
|
|||
u16_t source_id = (u16_t)src_level.source_id;
|
||||
bool raw_string = (level == LOG_LEVEL_INTERNAL_RAW_STRING);
|
||||
|
||||
if (IS_ENABLED(CONFIG_LOG_MIPI_SYST_ENABLE) &&
|
||||
flags & LOG_OUTPUT_FLAG_FORMAT_SYST) {
|
||||
log_output_string_syst_process(log_output,
|
||||
src_level, fmt, ap, flags);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!raw_string) {
|
||||
prefix_print(log_output, flags, true, timestamp,
|
||||
level, domain_id, source_id);
|
||||
|
@ -591,6 +612,13 @@ void log_output_hexdump(const struct log_output *log_output,
|
|||
u8_t domain_id = (u8_t)src_level.domain_id;
|
||||
u16_t source_id = (u16_t)src_level.source_id;
|
||||
|
||||
if (IS_ENABLED(CONFIG_LOG_MIPI_SYST_ENABLE) &&
|
||||
flags & LOG_OUTPUT_FLAG_FORMAT_SYST) {
|
||||
log_output_hexdump_syst_process(log_output,
|
||||
src_level, data, length, flags);
|
||||
return;
|
||||
}
|
||||
|
||||
prefix_offset = prefix_print(log_output, flags, true, timestamp,
|
||||
level, domain_id, source_id);
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue