#include "log.h" #include 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); }