extern "C" {
#include "log.h"
}
static FILE uartout = {0} ;
static int uart_putchar (char c, FILE *stream)
{
Serial.write(c) ;
return 0 ;
}
void setup() {
Serial.begin(115200);
fdev_setup_stream (&uartout, uart_putchar, NULL, _FDEV_SETUP_WRITE);
stdout = &uartout ;
log_init();
log_set_topic_mask(0xFFFF);
log_set_level(LOG_LEVEL_DEBUG);
LOG_DEBUG(LOG_TOPIC_NET, "visible");
LOG_INFO(LOG_TOPIC_SENSOR, "visible");
LOG_ERROR(LOG_TOPIC_CTRL, "visible");
log_set_level(LOG_LEVEL_ERROR);
LOG_DEBUG(LOG_TOPIC_NET, "invisible");
LOG_INFO(LOG_TOPIC_SENSOR, "invisible");
LOG_ERROR(LOG_TOPIC_CTRL, "visible");
log_set_level(LOG_LEVEL_DEBUG);
log_disable_topic(LOG_TOPIC_SENSOR);
LOG_DEBUG(LOG_TOPIC_NET, "visible");
LOG_INFO(LOG_TOPIC_SENSOR, "invisible");
LOG_ERROR(LOG_TOPIC_CTRL, "visible");
log_enable_topic(LOG_TOPIC_SENSOR);
LOG_INFO(LOG_TOPIC_SENSOR, "visible");
LOG_ERROR(123, "visible but topic err");
LOG(LOG_TOPIC_SENSOR, 0, "visible but level err");
LOG(123, 0, "visible but both err");
log_set_level(LOG_LEVEL_NONE);
LOG_INFO(LOG_TOPIC_SENSOR, "invisible");
}
void loop() {
}