OCT 1. log库增加模块最小日志等级配置功能
This commit is contained in:
parent
a28fc7a21a
commit
7ee3cd9041
|
@ -9,66 +9,74 @@ extern "C" {
|
|||
#endif
|
||||
#include <zlog.h>
|
||||
|
||||
#define DEF_ZLOG_MOD(ZLOG_MOD) \
|
||||
ZLOG_MOD(ZLOG_MOD_MAIN, "MAIN") \
|
||||
ZLOG_MOD(ZLOG_MOD_TASK, "TASK") \
|
||||
ZLOG_MOD(ZLOG_MOD_INIT, "INIT") \
|
||||
ZLOG_MOD(ZLOG_MOD_MISC, "MISC") \
|
||||
ZLOG_MOD(ZLOG_MOD_WATCH, "WATCH") \
|
||||
ZLOG_MOD(ZLOG_MOD_CONFIG, "CONFIG") \
|
||||
ZLOG_MOD(ZLOG_MOD_NET, "NET") \
|
||||
ZLOG_MOD(ZLOG_MOD_CRYPTO, "CRYPTO") \
|
||||
ZLOG_MOD(ZLOG_MOD_MQ, "MQ") \
|
||||
ZLOG_MOD(ZLOG_MOD_PROTO, "PROTO") \
|
||||
ZLOG_MOD(ZLOG_MOD_HTTPD, "HTTPD") \
|
||||
ZLOG_MOD(ZLOG_MOD_USER, "USER") \
|
||||
ZLOG_MOD(ZLOG_MOD_PPPOE, "PPPOE") \
|
||||
ZLOG_MOD(ZLOG_MOD_VXLAN, "VXLAN") \
|
||||
ZLOG_MOD(ZLOG_MOD_LWIP, "LWIP") \
|
||||
ZLOG_MOD(ZLOG_MOD_OPENDHCPD, "DHCPD")
|
||||
enum {
|
||||
ZLOG_LEVEL_TRACE = 10,
|
||||
};
|
||||
|
||||
#define GENERATE_ZLOG_MOD_ENUM(ENUM, x) ENUM,
|
||||
typedef enum {
|
||||
trace = ZLOG_LEVEL_TRACE,
|
||||
debug = ZLOG_LEVEL_DEBUG,
|
||||
info = ZLOG_LEVEL_INFO,
|
||||
notice = ZLOG_LEVEL_NOTICE,
|
||||
warn = ZLOG_LEVEL_WARN,
|
||||
error = ZLOG_LEVEL_ERROR,
|
||||
fatal = ZLOG_LEVEL_FATAL
|
||||
} ZLOG_LV;
|
||||
|
||||
#define DEF_ZLOG_MOD(ZLOG_MOD) \
|
||||
ZLOG_MOD(ZLOG_MOD_MAIN, ZLOG_LEVEL_DEBUG, "MAIN") \
|
||||
ZLOG_MOD(ZLOG_MOD_TASK, ZLOG_LEVEL_DEBUG, "TASK") \
|
||||
ZLOG_MOD(ZLOG_MOD_INIT, ZLOG_LEVEL_DEBUG, "INIT") \
|
||||
ZLOG_MOD(ZLOG_MOD_MISC, ZLOG_LEVEL_DEBUG, "MISC") \
|
||||
ZLOG_MOD(ZLOG_MOD_WATCH, ZLOG_LEVEL_DEBUG, "WATCH") \
|
||||
ZLOG_MOD(ZLOG_MOD_CONFIG, ZLOG_LEVEL_DEBUG, "CONFIG") \
|
||||
ZLOG_MOD(ZLOG_MOD_NET, ZLOG_LEVEL_DEBUG, "NET") \
|
||||
ZLOG_MOD(ZLOG_MOD_CRYPTO, ZLOG_LEVEL_DEBUG, "CRYPTO") \
|
||||
ZLOG_MOD(ZLOG_MOD_MQ, ZLOG_LEVEL_DEBUG, "MQ") \
|
||||
ZLOG_MOD(ZLOG_MOD_PROTO, ZLOG_LEVEL_DEBUG, "PROTO") \
|
||||
ZLOG_MOD(ZLOG_MOD_HTTPD, ZLOG_LEVEL_INFO, "HTTPD") \
|
||||
ZLOG_MOD(ZLOG_MOD_USER, ZLOG_LEVEL_DEBUG, "USER") \
|
||||
ZLOG_MOD(ZLOG_MOD_PPPOE, ZLOG_LEVEL_DEBUG, "PPPOE") \
|
||||
ZLOG_MOD(ZLOG_MOD_VXLAN, ZLOG_LEVEL_DEBUG, "VXLAN") \
|
||||
ZLOG_MOD(ZLOG_MOD_LWIP, ZLOG_LEVEL_DEBUG, "LWIP") \
|
||||
ZLOG_MOD(ZLOG_MOD_OPENDHCPD, ZLOG_LEVEL_DEBUG, "DHCPD")
|
||||
|
||||
#define GENERATE_ZLOG_MOD_ENUM(ENUM, lv, x) ENUM,
|
||||
|
||||
typedef enum {
|
||||
DEF_ZLOG_MOD(GENERATE_ZLOG_MOD_ENUM)
|
||||
} ZLOG_MOD_NAME;
|
||||
|
||||
//typedef enum {
|
||||
// ZLOG_MOD_MAIN,
|
||||
// ZLOG_MOD_TASK,
|
||||
// ZLOG_MOD_INIT,
|
||||
// ZLOG_MOD_MISC,
|
||||
// ZLOG_MOD_CONFIG,
|
||||
// ZLOG_MOD_NET,
|
||||
// ZLOG_MOD_CRYPTO,
|
||||
// ZLOG_MOD_MQ,
|
||||
// ZLOG_MOD_PROTO,
|
||||
// ZLOG_MOD_HTTPD,
|
||||
//#ifdef USED_LWIP
|
||||
// ZLOG_MOD_USER,
|
||||
// ZLOG_MOD_PPPOE,
|
||||
// ZLOG_MOD_VXLAN,
|
||||
// ZLOG_MOD_LWIP,
|
||||
//#endif
|
||||
// ZLOG_MOD_OPENDHCPD,
|
||||
// ZLOG_MOD_MAX,
|
||||
//} ZLOG_MOD_NAME;
|
||||
#define zlog_trace(cat, format, ...) \
|
||||
zlog(cat, \
|
||||
__FILE__, \
|
||||
sizeof(__FILE__) - 1, \
|
||||
__func__, \
|
||||
sizeof(__func__) - 1, \
|
||||
__LINE__, \
|
||||
ZLOG_LEVEL_TRACE, \
|
||||
format, \
|
||||
##__VA_ARGS__)
|
||||
|
||||
#define LOG_MSG(level, format, ...) LOG_MOD(level, ZLOG_MOD_MAIN, format, ##__VA_ARGS__)
|
||||
#define LOG_MSG_HEX(level, format, ...) LOG_MOD_HEX(level, ZLOG_MOD_MAIN, format, ##__VA_ARGS__)
|
||||
|
||||
#define LOG_MOD(level, mod, format, ...) \
|
||||
do { \
|
||||
zlog_##level(zlog_get_mod_cat((mod)), format, ##__VA_ARGS__); \
|
||||
#define LOG_MOD(level, mod, format, ...) \
|
||||
do { \
|
||||
if (zlog_verify_level(level, mod)) { \
|
||||
zlog_##level(zlog_get_mod_cat((mod)), format, ##__VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
#define LOG_MOD_HEX(level, mod, format, ...) \
|
||||
do { \
|
||||
hzlog_##level(zlog_get_mod_cat((mod)), format, ##__VA_ARGS__); \
|
||||
#define LOG_MOD_HEX(level, mod, format, ...) \
|
||||
do { \
|
||||
if (zlog_verify_level(level, mod)) { \
|
||||
hzlog_##level(zlog_get_mod_cat((mod)), format, ##__VA_ARGS__); \
|
||||
} \
|
||||
} while (0)
|
||||
|
||||
zlog_category_t *zlog_get_mod_cat(ZLOG_MOD_NAME logMod);
|
||||
|
||||
int zlog_verify_level(int level, ZLOG_MOD_NAME logMod);
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
//
|
||||
// Created by xajhuang on 2023/2/6.
|
||||
//
|
||||
#include <string.h>
|
||||
#include "zlog_module.h"
|
||||
#include "misc.h"
|
||||
|
||||
|
@ -8,14 +9,15 @@
|
|||
|
||||
typedef struct {
|
||||
ZLOG_MOD_NAME logModule;
|
||||
int minLevel;
|
||||
zlog_category_t *pCat;
|
||||
char catName[MAX_ZLOG_MOD_LEN];
|
||||
} ZLOG_MODULE;
|
||||
|
||||
#define GENERATE_ENUM_ARRAY(ENUM, desc) {ENUM, NULL, desc},
|
||||
#define GENERATE_ENUM_ARRAY(ENUM, lv, desc) {ENUM, lv, NULL, desc},
|
||||
|
||||
static ZLOG_MODULE g_zlogModule[] = {
|
||||
DEF_ZLOG_MOD(GENERATE_ENUM_ARRAY) {-1, NULL, "UNKNOWN"}
|
||||
DEF_ZLOG_MOD(GENERATE_ENUM_ARRAY) {-1, ZLOG_LEVEL_FATAL, NULL, "UNKNOWN"}
|
||||
};
|
||||
|
||||
zlog_category_t *zlog_get_mod_cat(ZLOG_MOD_NAME logMod) {
|
||||
|
@ -29,3 +31,7 @@ zlog_category_t *zlog_get_mod_cat(ZLOG_MOD_NAME logMod) {
|
|||
|
||||
return g_zlogModule[logMod].pCat;
|
||||
}
|
||||
|
||||
int zlog_verify_level(int level, ZLOG_MOD_NAME logMod) {
|
||||
return (level >= g_zlogModule[logMod].minLevel);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue