🎈 perf(MESA_handle_runtime_log): 内部增加判断level的级别,提供宏展开示例
This commit is contained in:
@@ -19,8 +19,6 @@ extern "C"
|
||||
#define RLOG_LV_FATAL 30
|
||||
|
||||
|
||||
struct log_handle_t;
|
||||
|
||||
int MESA_handle_runtime_log_creation(const char *conf_path);
|
||||
int MESA_handle_runtime_log_reconstruction(const char *conf_path);
|
||||
void MESA_handle_runtime_log_destruction();
|
||||
@@ -30,7 +28,18 @@ void MESA_handle_runtime_log_destruction();
|
||||
__FILE__, __LINE__, ##args)
|
||||
|
||||
|
||||
int MESA_handle_runtime_log_level_enabled(struct log_handle_t *handle, const int level);
|
||||
|
||||
/*
|
||||
#define MESA_HANDLE_RUNTIME_LOG_EXPAND(handle, level, module, fmt, ...) \
|
||||
{ \
|
||||
if (MESA_handle_runtime_log_level_enabled(handle, level)) \
|
||||
{ \
|
||||
MESA_handle_runtime_log(handle, level, module, fmt, __VA_ARGS__); \
|
||||
} \
|
||||
}
|
||||
*/
|
||||
|
||||
int MESA_handle_runtime_log_level_enabled(void *handle, const int level);
|
||||
/*
|
||||
* name: MESA_create_runtime_log_handle
|
||||
* functionality: get runtime_log handle;
|
||||
@@ -41,7 +50,7 @@ int MESA_handle_runtime_log_level_enabled(struct log_handle_t *handle, const int
|
||||
* not NULL, if succeeded;
|
||||
* NULL, if file is not absolute path, or failed to create log file;
|
||||
*/
|
||||
struct log_handle_t *MESA_create_runtime_log_handle(const char *file_path, int level);
|
||||
void *MESA_create_runtime_log_handle(const char *file_path, int level);
|
||||
|
||||
/*
|
||||
* name: MESA_handle_runtime_log
|
||||
@@ -55,7 +64,7 @@ struct log_handle_t *MESA_create_runtime_log_handle(const char *file_path, int l
|
||||
* returns:
|
||||
* none;
|
||||
*/
|
||||
void MESA_handle_runtime_log(struct log_handle_t *handle, int level, const char *module, const char *fmt, ...);
|
||||
void MESA_handle_runtime_log(void *handle, int level, const char *module, const char *fmt, ...);
|
||||
|
||||
/*
|
||||
* name: MESA_destroy_runtime_log_handle
|
||||
@@ -65,7 +74,7 @@ void MESA_handle_runtime_log(struct log_handle_t *handle, int level, const char
|
||||
* returns:
|
||||
* none;
|
||||
*/
|
||||
void MESA_destroy_runtime_log_handle(struct log_handle_t *handle);
|
||||
void MESA_destroy_runtime_log_handle(void *handle);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
|
||||
@@ -163,7 +163,7 @@ static void snapshot_handle_info(const char *handle_name, const char *log_path,
|
||||
return;
|
||||
}
|
||||
|
||||
struct log_handle_t *MESA_create_runtime_log_handle(const char *file_path, int level)
|
||||
void *MESA_create_runtime_log_handle(const char *file_path, int level)
|
||||
{
|
||||
if(file_path == NULL)
|
||||
return NULL;
|
||||
@@ -202,7 +202,7 @@ struct log_handle_t *MESA_create_runtime_log_handle(const char *file_path, int l
|
||||
return (void *)handle;
|
||||
}
|
||||
|
||||
void MESA_destroy_runtime_log_handle(struct log_handle_t *handle)
|
||||
void MESA_destroy_runtime_log_handle(void *handle)
|
||||
{
|
||||
if(handle != NULL)
|
||||
{
|
||||
@@ -214,24 +214,28 @@ void MESA_destroy_runtime_log_handle(struct log_handle_t *handle)
|
||||
}
|
||||
|
||||
|
||||
int MESA_handle_runtime_log_level_enabled(struct log_handle_t *handle, const int level)
|
||||
int MESA_handle_runtime_log_level_enabled(void *v_handle, const int level)
|
||||
{
|
||||
struct log_handle_t *handle = (struct log_handle_t *)v_handle;
|
||||
if(handle == NULL || handle->runtime_log_file == NULL)return;
|
||||
if(handle->zc == NULL) return;
|
||||
return zlog_level_enabled(handle->zc, level);
|
||||
}
|
||||
|
||||
void MESA_handle_runtime_log(struct log_handle_t *handle, int level, const char *module, const char *fmt, ...)
|
||||
void MESA_handle_runtime_log(void *v_handle, int level, const char *module, const char *fmt, ...)
|
||||
{
|
||||
|
||||
struct log_handle_t *handle = (struct log_handle_t *)handle;
|
||||
if(handle == NULL || handle->runtime_log_file == NULL)return;
|
||||
|
||||
if(handle->zc == NULL)return;
|
||||
|
||||
if (zlog_level_enabled(handle->zc, level))
|
||||
{
|
||||
va_list ap;
|
||||
va_start(ap, fmt);
|
||||
vzlog(handle->zc, handle->runtime_log_file, strlen(handle->runtime_log_file), module, strlen(module), __LINE__, level, fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
return ;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user