🎈 perf(MESA_handle_runtime_log): 内部增加判断level的级别,提供宏展开示例

This commit is contained in:
yangwei
2023-05-30 18:59:08 +08:00
parent 8680c2f4f5
commit 7fa29b1a00
2 changed files with 29 additions and 16 deletions

View File

@@ -19,8 +19,6 @@ extern "C"
#define RLOG_LV_FATAL 30 #define RLOG_LV_FATAL 30
struct log_handle_t;
int MESA_handle_runtime_log_creation(const char *conf_path); int MESA_handle_runtime_log_creation(const char *conf_path);
int MESA_handle_runtime_log_reconstruction(const char *conf_path); int MESA_handle_runtime_log_reconstruction(const char *conf_path);
void MESA_handle_runtime_log_destruction(); void MESA_handle_runtime_log_destruction();
@@ -30,7 +28,18 @@ void MESA_handle_runtime_log_destruction();
__FILE__, __LINE__, ##args) __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 * name: MESA_create_runtime_log_handle
* functionality: get 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; * not NULL, if succeeded;
* NULL, if file is not absolute path, or failed to create log file; * 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 * 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: * returns:
* none; * 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 * 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: * returns:
* none; * none;
*/ */
void MESA_destroy_runtime_log_handle(struct log_handle_t *handle); void MESA_destroy_runtime_log_handle(void *handle);
#ifdef __cplusplus #ifdef __cplusplus
} }

View File

@@ -163,7 +163,7 @@ static void snapshot_handle_info(const char *handle_name, const char *log_path,
return; 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) if(file_path == NULL)
return 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; 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) 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)
{ {
if(handle == NULL || handle->runtime_log_file == NULL)return; 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; if(handle->zc == NULL) return;
return zlog_level_enabled(handle->zc, level); 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 == NULL || handle->runtime_log_file == NULL)return;
if(handle->zc == NULL)return; if(handle->zc == NULL)return;
va_list ap; if (zlog_level_enabled(handle->zc, level))
va_start(ap, fmt); {
vzlog(handle->zc, handle->runtime_log_file, strlen(handle->runtime_log_file), module, strlen(module), __LINE__, level, fmt, ap); va_list ap;
va_end(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 ; return ;
} }