22 lines
598 B
C
22 lines
598 B
C
#include "log.h"
|
|
#include <string.h>
|
|
|
|
static log_write_fn write_fn = NULL;
|
|
static const char level_chars[] = "DIWE";
|
|
|
|
void log_init(log_write_fn fn) {
|
|
write_fn = fn;
|
|
}
|
|
|
|
void log_msg(uint8_t level, const char *cat, const char *msg) {
|
|
if (!write_fn) return;
|
|
char lc = (level < 4) ? level_chars[level] : '?';
|
|
write_fn((const uint8_t *)"[", 1);
|
|
write_fn((const uint8_t *)&lc, 1);
|
|
write_fn((const uint8_t *)"][", 2);
|
|
write_fn((const uint8_t *)cat, strlen(cat));
|
|
write_fn((const uint8_t *)"] ", 2);
|
|
write_fn((const uint8_t *)msg, strlen(msg));
|
|
write_fn((const uint8_t *)"\r\n", 2);
|
|
}
|