1、Update 默认rules后面带level,而不是*

2、带pathvar初始化失败后,直接结束zlog,而不是跳转至error避免操作不存在的conf_file
3、创建句柄中的zlog_get_category失败后,返回句柄中zc为空,之后写入日志操作中判断zc,如果为null,直接返回,用于适配无rules即等效于关闭日志的场景
This commit is contained in:
yangwei
2020-09-03 11:00:17 +08:00
parent 1f9fc66152
commit 6ae5d5ffa9

View File

@@ -186,8 +186,8 @@ void *MESA_create_runtime_log_handle(const char *file_path, int level)
goto error; goto error;
} }
snprintf(zlog_rule_conf_content, sizeof(zlog_rule_conf_content), snprintf(zlog_rule_conf_content, sizeof(zlog_rule_conf_content),
"[global]\ndefault format = \"%%d(%%c), %%V, %%m%%n\" \n[levels]\nDEBUG=10\nINFO=20\nFATAL=30\n[rules]\n%s.* \"%s.%%d(%%F)\"", "[global]\ndefault format = \"%%d(%%c), %%V, %%m%%n\" \n[levels]\nDEBUG=10\nINFO=20\nFATAL=30\n[rules]\n%s.%d \"%s.%%d(%%F)\"",
p_name, file_path); p_name, level, file_path);
write(g_zlog_conf_fp, zlog_rule_conf_content, strlen(zlog_rule_conf_content)); write(g_zlog_conf_fp, zlog_rule_conf_content, strlen(zlog_rule_conf_content));
fsync(g_zlog_conf_fp); fsync(g_zlog_conf_fp);
int rc = zlog_init(tmp_conf_filepath); int rc = zlog_init(tmp_conf_filepath);
@@ -210,6 +210,7 @@ void *MESA_create_runtime_log_handle(const char *file_path, int level)
} }
else else
{ {
zc = zlog_get_category(p_name); zc = zlog_get_category(p_name);
if (!zc) if (!zc)
{ {
@@ -221,8 +222,8 @@ void *MESA_create_runtime_log_handle(const char *file_path, int level)
//if (get_filepath(g_zlog_conf_fp, tmp_conf_filepath, sizeof(tmp_conf_filepath)) < 0) //if (get_filepath(g_zlog_conf_fp, tmp_conf_filepath, sizeof(tmp_conf_filepath)) < 0)
// return NULL; // return NULL;
snprintf(zlog_rule_conf_content, sizeof(zlog_rule_conf_content), snprintf(zlog_rule_conf_content, sizeof(zlog_rule_conf_content),
"\n%s.* \"%s.%%d(%%F)\"", "\n%s.%d \"%s.%%d(%%F)\"",
p_name, file_path); p_name, level, file_path);
write(g_zlog_conf_fp, zlog_rule_conf_content, strlen(zlog_rule_conf_content)); write(g_zlog_conf_fp, zlog_rule_conf_content, strlen(zlog_rule_conf_content));
fsync(g_zlog_conf_fp); fsync(g_zlog_conf_fp);
int rc = zlog_reload(tmp_conf_filepath); int rc = zlog_reload(tmp_conf_filepath);
@@ -240,7 +241,10 @@ void *MESA_create_runtime_log_handle(const char *file_path, int level)
{ {
zc = init_zlog(pathvar, p_name); zc = init_zlog(pathvar, p_name);
if (zc == NULL) if (zc == NULL)
goto error; {
zlog_fini();
//return NULL;
}
} }
p_handle = (log_handle_t *)calloc(sizeof(log_handle_t), 1); p_handle = (log_handle_t *)calloc(sizeof(log_handle_t), 1);
strncpy(p_handle->runtime_log_file, file_path, sizeof(p_handle->runtime_log_file) - 1); strncpy(p_handle->runtime_log_file, file_path, sizeof(p_handle->runtime_log_file) - 1);
@@ -275,6 +279,8 @@ void MESA_handle_runtime_log(void *handle, int level, const char *module, const
if(p_handle == NULL || p_handle->runtime_log_file == NULL)return; if(p_handle == NULL || p_handle->runtime_log_file == NULL)return;
if(p_handle->zc == NULL)return;
if(level < p_handle->runtime_log_level) return; if(level < p_handle->runtime_log_level) return;
va_list ap; va_list ap;