add function "elog_set_text_color_enabled" and "elog_get_text_color_enabled" to enable and disable log text color

Signed-off-by: ju5t4fun <ihupeng@126.com>
pull/4/head
ju5t4fun 9 years ago
parent 5bca89b9a3
commit 764d600a48

@ -132,6 +132,8 @@ ElogErrCode elog_init(void);
void elog_start(void); void elog_start(void);
void elog_set_output_enabled(bool enabled); void elog_set_output_enabled(bool enabled);
bool elog_get_output_enabled(void); bool elog_get_output_enabled(void);
void elog_set_text_color_enabled(bool enabled);
bool elog_get_text_color_enabled(void);
void elog_set_fmt(uint8_t level, size_t set); void elog_set_fmt(uint8_t level, size_t set);
void elog_set_filter(uint8_t level, const char *tag, const char *keyword); void elog_set_filter(uint8_t level, const char *tag, const char *keyword);
void elog_set_filter_lvl(uint8_t level); void elog_set_filter_lvl(uint8_t level);

@ -49,6 +49,8 @@ static const char *level_output_info[] = {
}; };
/* the output lock enable or disable. default is enable */ /* the output lock enable or disable. default is enable */
static bool output_lock_enabled = true; static bool output_lock_enabled = true;
/* the log text color enable or disable. default is enable */
static bool text_color_enabled = true;
/* the output is locked before enable. */ /* the output is locked before enable. */
static bool output_is_locked_before_enable = false; static bool output_is_locked_before_enable = false;
/* the output is locked before disable. */ /* the output is locked before disable. */
@ -97,6 +99,24 @@ void elog_set_output_enabled(bool enabled) {
elog.output_enabled = enabled; elog.output_enabled = enabled;
} }
/**
* set log text color enable or disable
*
* @param enabled TRUE: enable FALSE:disable
*/
void elog_set_text_color_enabled(bool enabled) {
text_color_enabled = enabled;
}
/**
* get log text color enable status
*
* @return enable or disable
*/
bool elog_get_text_color_enabled(void) {
return text_color_enabled;
}
/** /**
* get output is enable or disable * get output is enable or disable
* *
@ -241,33 +261,37 @@ void elog_output(uint8_t level, const char *tag, const char *file, const char *f
/* lock output */ /* lock output */
output_lock(); output_lock();
/* add Escape Sequence start sign and color info*/ /* add Escape Sequence start sign and color info*/
log_len += elog_strcpy(log_len, log_buf + log_len, ESC_START); if(text_color_enabled) {
char *color = NULL; log_len += elog_strcpy(log_len, log_buf + log_len, ESC_START);
switch(level) char *color = NULL;
{ switch(level)
case ELOG_LVL_ASSERT: {
color = (char*) COLOR_ASSERT; case ELOG_LVL_ASSERT:
break; color = (char*) COLOR_ASSERT;
case ELOG_LVL_ERROR: break;
color = (char*) COLOR_ERROR; case ELOG_LVL_ERROR:
break; color = (char*) COLOR_ERROR;
case ELOG_LVL_WARN: break;
color = (char*) COLOR_WARN; case ELOG_LVL_WARN:
break; color = (char*) COLOR_WARN;
case ELOG_LVL_INFO: break;
color = (char*) COLOR_INFO; case ELOG_LVL_INFO:
break; color = (char*) COLOR_INFO;
case ELOG_LVL_DEBUG: break;
color = (char*) COLOR_DEBUG; case ELOG_LVL_DEBUG:
break; color = (char*) COLOR_DEBUG;
case ELOG_LVL_VERBOSE: break;
color = (char*) COLOR_VERBOSE; case ELOG_LVL_VERBOSE:
break; color = (char*) COLOR_VERBOSE;
default: break;
; default:
} ;
log_len += elog_strcpy(log_len, log_buf + log_len, color); }
log_len += elog_strcpy(log_len, log_buf + log_len, color);
}
/* package level info */ /* package level info */
if (get_fmt_enabled(level, ELOG_FMT_LVL)) { if (get_fmt_enabled(level, ELOG_FMT_LVL)) {
log_len += elog_strcpy(log_len, log_buf + log_len, level_output_info[level]); log_len += elog_strcpy(log_len, log_buf + log_len, level_output_info[level]);
@ -363,7 +387,9 @@ void elog_output(uint8_t level, const char *tag, const char *file, const char *f
} }
/* add Escape Sequence end sign */ /* add Escape Sequence end sign */
log_len += elog_strcpy(log_len, log_buf + log_len, ESC_END); if(text_color_enabled) {
log_len += elog_strcpy(log_len, log_buf + log_len, ESC_END);
}
/* output log */ /* output log */
elog_port_output(log_buf, log_len); elog_port_output(log_buf, log_len);

Loading…
Cancel
Save