static void _edje_cc_log_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc, int fline, const char *fmt, EINA_UNUSED void *data, va_list args) { if ((d->name) && (d->namelen == sizeof("edje_cc") - 1) && (memcmp(d->name, "edje_cc", sizeof("edje_cc") - 1) == 0)) { const char *prefix; eina_log_console_color_set(stderr, eina_log_level_color_get(level)); switch (level) { case EINA_LOG_LEVEL_CRITICAL: prefix = "Critical. "; break; case EINA_LOG_LEVEL_ERR: prefix = "Error. "; break; case EINA_LOG_LEVEL_WARN: prefix = "Warning. "; break; default: prefix = ""; } fprintf(stderr, "%s: %s", progname, prefix); eina_log_console_color_set(stderr, EINA_COLOR_RESET); vfprintf(stderr, fmt, args); putc('\n', stderr); } else eina_log_print_cb_stderr(d, level, file, fnc, fline, fmt, NULL, args); }
EINTERN int e_log_dom = -1; static const char *_names[] = { "CRI", "ERR", "WRN", "INF", "DBG", }; static void _e_log_cb(const Eina_Log_Domain *d, Eina_Log_Level level, const char *file, const char *fnc __UNUSED__, int line, const char *fmt, void *data __UNUSED__, va_list args) { const char *color; color = eina_log_level_color_get(level); fprintf(stdout, "%s%s<" EINA_COLOR_RESET "%s%s>" EINA_COLOR_RESET "%s:%d" EINA_COLOR_RESET " ", color, _names[level > EINA_LOG_LEVEL_DBG ? EINA_LOG_LEVEL_DBG : level], d->domain_str, color, file, line); vfprintf(stdout, fmt, args); putc('\n', stdout); } EINTERN int e_log_init(void) { e_log_dom = eina_log_domain_register("e", EINA_COLOR_WHITE); eina_log_domain_level_set("e", E_LOG_LEVEL); eina_log_print_cb_set(_e_log_cb, NULL); return (e_log_dom != -1);