/* * @Description: * @Date: 2021-03-09 11:30:52 * @LastEditors: CK.Zh * @LastEditTime: 2021-03-10 10:59:15 * @FilePath: \NaviKit_EC_stm32\App\Src\th_elog.c */ #define LOG_TAG "TH-Elog" #include #include "main.h" const osThreadAttr_t ElogInitTask_attributes = { .name = "ElogInitTask", .priority = (osPriority_t) osPriorityBelowNormal, .stack_size = 128 * 4 }; const osThreadAttr_t ElogFlushTask_attributes = { .name = "ElogFlushTask", .priority = (osPriority_t) osPriorityLow, .stack_size = 128 * 4 }; void StartElogInitTask(void *argument){ // my_elog_init(); // osThreadExit();//exit this thread,execute this code only once } void StartElogFlushTask(void *argument){ log_v("Start Elog Flush Task"); for(;;){ elog_flush(); osDelay(5); } } void my_elog_init(){ elog_init(); /* close printf buffer */ setbuf(stdout, NULL); #ifdef DEBUG //debug mode:output all information ElogFmtIndex ELOG_FMT_SETTING = ELOG_FMT_ALL ; #else //release mode :only output level、tag、time information ElogFmtIndex ELOG_FMT_SETTING = ELOG_FMT_LVL | ELOG_FMT_TAG | ELOG_FMT_TIME; #endif /* set EasyLogger log format */ /* 断言:输出所有内容 */ elog_set_fmt(ELOG_LVL_ASSERT, ELOG_FMT_SETTING); /* 错误:输出级别、标签和时间 */ elog_set_fmt(ELOG_LVL_ERROR, ELOG_FMT_SETTING); /* 警告:输出级别、标签和时间 */ elog_set_fmt(ELOG_LVL_WARN, ELOG_FMT_SETTING); /* 信息:输出级别、标签和时间 */ elog_set_fmt(ELOG_LVL_INFO, ELOG_FMT_SETTING); /* 调试:输出除了方法名之外的所有内容 */ elog_set_fmt(ELOG_LVL_DEBUG, ELOG_FMT_SETTING); /* 详细:输出除了方法名之外的所有内容 */ elog_set_fmt(ELOG_LVL_VERBOSE, ELOG_FMT_SETTING); /* start EasyLogger */ elog_start(); }