diff --git a/config/zlog.conf b/config/zlog.conf index d315256..ddbdfaf 100644 --- a/config/zlog.conf +++ b/config/zlog.conf @@ -18,7 +18,7 @@ CRIT = 130, LOG_CRIT [formats] simple = "%m" -normal = "[%d(%F %T).%ms][%-6V][%f:%L] - %m" +normal = "[%d(%F %T).%ms][%-6V][%c][%f:%L] - %m" [rules] *.* >stdout; normal diff --git a/srcs/httpserver/src/haywire/configuration/configuration.c b/srcs/httpserver/src/haywire/configuration/configuration.c index dcbf472..f7fab52 100644 --- a/srcs/httpserver/src/haywire/configuration/configuration.c +++ b/srcs/httpserver/src/haywire/configuration/configuration.c @@ -1,8 +1,8 @@ -#include #include "configuration.h" #include "../hw_string.h" #include "../khash.h" #include "ini.h" +#include "zlog_module.h" KHASH_MAP_INIT_STR(route_hashes, char *) @@ -23,7 +23,7 @@ int configuration_handler(void *user, const char *section, const char *name, con configuration *load_configuration(const char *filename) { configuration *config = malloc(sizeof(configuration)); if (ini_parse(filename, configuration_handler, config) < 0) { - dzlog_error("Can't load configuration\n"); + LOG_MSG(error, ZLOG_MOD_HTTPD, "Can't load configuration\n"); return NULL; } return config; diff --git a/srcs/httpserver/src/haywire/http_server.c b/srcs/httpserver/src/haywire/http_server.c index 7ae1746..f86bdb9 100644 --- a/srcs/httpserver/src/haywire/http_server.c +++ b/srcs/httpserver/src/haywire/http_server.c @@ -7,7 +7,6 @@ #include #include #include -#include #include "uv.h" #include "hw_string.h" #include "khash.h" @@ -20,8 +19,9 @@ #include "http_connection.h" #include "http_request.h" #include "misc.h" +#include "zlog_module.h" -#define UVERR(err, msg) dzlog_error("%s: %s\n", msg, uv_strerror(err)) +#define UVERR(err, msg) LOG_MSG(error, ZLOG_MOD_HTTPD, "%s: %s\n", msg, uv_strerror(err)) //fprintf(stderr, "%s: %s\n", msg, uv_strerror(err)) #if 0 #define CHECK(r, msg) \ @@ -88,7 +88,7 @@ int hw_init_from_config(char *configuration_filename) { void print_configuration() { #if 0 - dzlog_debug("Address: %s\n\tPort: %d\n\tThreads: %d\n\tBalancer: %s\n\t" + LOG_MSG(debug, ZLOG_MOD_HTTPD, "Address: %s\n\tPort: %d\n\tThreads: %d\n\tBalancer: %s\n\t" "Parser: %s\n\tTCP No Delay: %s\n\tListen backlog: %d\n\tMaximum request size: %d\n", config->http_listen_address, config->http_listen_port, @@ -134,7 +134,7 @@ void hw_http_add_route(char *route, http_request_callback callback, void *user_d routes = kh_init(string_hashmap); } set_route(routes, route, route_entry); - // dzlog_debug("Added route path: [%s]\n", route); // TODO: Replace with logging instead. + // LOG_MSG(debug, ZLOG_MOD_HTTPD, "Added route path: [%s]\n", route); // TODO: Replace with logging instead. } void free_http_server() { @@ -149,7 +149,11 @@ void free_http_server() { kh_destroy(string_hashmap, routes); uv_close((uv_handle_t *)&server, NULL); uninit_http_request_cache(); - dzlog_info("HTTP Server Close http://%s:%d\n", config->http_listen_address, config->http_listen_port); + LOG_MSG(info, + ZLOG_MOD_HTTPD, + "HTTP Server Close http://%s:%d\n", + config->http_listen_address, + config->http_listen_port); } int hw_http_open() { @@ -193,7 +197,7 @@ int hw_http_open() { int rc; rc = uv_tcp_init_ex(uv_loop, &server, AF_INET); if (rc != 0) { - dzlog_warn("TWO %d\n", rc); + LOG_MSG(warn, ZLOG_MOD_HTTPD, "TWO %d\n", rc); } if (strcmp(config->balancer, "reuseport") == 0) { @@ -201,11 +205,11 @@ int hw_http_open() { int on = 1; rc = uv_fileno(&server, &fd); if (rc != 0) { - dzlog_warn("ONE %d\n", rc); + LOG_MSG(warn, ZLOG_MOD_HTTPD, "ONE %d\n", rc); } rc = setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, (char *)&on, sizeof(on)); if (rc != 0) { - dzlog_warn("THREE %d\n", errno); + LOG_MSG(warn, ZLOG_MOD_HTTPD, "THREE %d\n", errno); } } @@ -221,7 +225,11 @@ int hw_http_open() { uv_listen((uv_stream_t *)&server, (int)config->listen_backlog, http_stream_on_connect); print_configuration(); - dzlog_info("HTTP Server Listening at http://%s:%d\n", config->http_listen_address, config->http_listen_port); + LOG_MSG(info, + ZLOG_MOD_HTTPD, + "HTTP Server Listening at http://%s:%d\n", + config->http_listen_address, + config->http_listen_port); //uv_run(uv_loop, UV_RUN_DEFAULT); } else if (listener_count > 0 && strcmp(config->balancer, "ipc") == 0) { int i; @@ -261,7 +269,7 @@ int hw_http_open() { } print_configuration(); - dzlog_debug("Listening...\n"); + LOG_MSG(debug, ZLOG_MOD_HTTPD, "Listening...\n"); //uv_run(uv_loop, UV_RUN_DEFAULT); } @@ -291,7 +299,7 @@ void reuseport_thread_start(void *arg) { uv_fileno(&server, &fd); rc = setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, (char *)&on, sizeof(on)); if (rc != 0) { - dzlog_warn("%d\n", errno); + LOG_MSG(warn, ZLOG_MOD_HTTPD, "%d\n", errno); } uv_tcp_bind(&server, (const struct sockaddr *)&addr, 0); diff --git a/srcs/libs/CMakeLists.txt b/srcs/libs/CMakeLists.txt index a19ed4c..3ad2f70 100644 --- a/srcs/libs/CMakeLists.txt +++ b/srcs/libs/CMakeLists.txt @@ -23,6 +23,7 @@ AUX_SOURCE_DIRECTORY(cmdline C_SRC) AUX_SOURCE_DIRECTORY(crypto C_SRC) AUX_SOURCE_DIRECTORY(hardware C_SRC) AUX_SOURCE_DIRECTORY(protocol C_SRC) +AUX_SOURCE_DIRECTORY(zlog_module C_SRC) IF (USED_REDIS) ADD_DEFINITIONS(-DUSED_REDIS) diff --git a/srcs/libs/banner/banner.c b/srcs/libs/banner/banner.c index f863425..75a4b87 100644 --- a/srcs/libs/banner/banner.c +++ b/srcs/libs/banner/banner.c @@ -2,10 +2,10 @@ // Created by xajhu on 2021/6/29 0029. // #include "uthash/utstring.h" -#include #include "banner.h" #include "config.h" +#include "zlog_module.h" void banner_show() { FILE *fp; @@ -29,10 +29,13 @@ void banner_show() { fclose(fp); - dzlog_info("================== Banner Used ===================\n%s\n", utstring_body(pBannerText)); + LOG_MSG(info, + ZLOG_MOD_MAIN, + "================== Banner Used ===================\n%s\n", + utstring_body(pBannerText)); utstring_free(pBannerText); } else { - dzlog_error("Banner file does not exists: %s\n", utstring_body(pPath)); + LOG_MSG(error, ZLOG_MOD_MAIN, "Banner file does not exists: %s\n", utstring_body(pPath)); } utstring_free(pPath); diff --git a/srcs/libs/configure/config.c b/srcs/libs/configure/config.c index ce7ad11..368b243 100644 --- a/srcs/libs/configure/config.c +++ b/srcs/libs/configure/config.c @@ -5,7 +5,6 @@ #include #include #include -#include #include #include "uthash/uthash.h" @@ -14,6 +13,7 @@ #include "user_errno.h" #include "crypto.h" #include "hardware.h" +#include "zlog_module.h" typedef struct { CONFIG_ITEM_ID cfgId; @@ -137,7 +137,7 @@ static int cfg_is_upgrade(PCONFIG_ITEM pItem) { static const char *load_string_value(const char *pKeyName) { const char *pCfgVal; if (config_lookup_string(&g_cfgContent, pKeyName, &pCfgVal) != CONFIG_TRUE) { - dzlog_error("No {%s} setting in configuration file.\n", pKeyName); + LOG_MSG(error, ZLOG_MOD_CONFIG, "No {%s} setting in configuration file.\n", pKeyName); return NULL; } @@ -151,7 +151,11 @@ static const char *load_string_value(const char *pKeyName) { unsigned char *pBuf = base64_decode(&pCfgVal[strlen(ENC_HEAD)], (unsigned int *)&bufSize); if (pBuf == NULL || bufSize <= 0) { - dzlog_error("{%s} setting [%s] maybe a encryption message, base64 decode error.\n", pKeyName, pCfgVal); + LOG_MSG(error, + ZLOG_MOD_CONFIG, + "{%s} setting [%s] maybe a encryption message, base64 decode error.\n", + pKeyName, + pCfgVal); return NULL; } @@ -176,7 +180,7 @@ static const char *load_string_value(const char *pKeyName) { static int load_boolean_value(const char *pKeyName) { int val; if (config_lookup_bool(&g_cfgContent, pKeyName, &val) != CONFIG_TRUE) { - dzlog_error("No {%s} setting in configuration file.\n", pKeyName); + LOG_MSG(error, ZLOG_MOD_CONFIG, "No {%s} setting in configuration file.\n", pKeyName); return DEFAULT_INTEGRAL_ERR_VALUE; } @@ -186,7 +190,7 @@ static int load_boolean_value(const char *pKeyName) { static long long int load_integral_value(const char *pKeyName) { long long val; if (config_lookup_int64(&g_cfgContent, pKeyName, &val) != CONFIG_TRUE) { - dzlog_error("No {%s} setting in configuration file.\n", pKeyName); + LOG_MSG(error, ZLOG_MOD_CONFIG, "No {%s} setting in configuration file.\n", pKeyName); return DEFAULT_INTEGRAL_ERR_VALUE; } @@ -196,7 +200,7 @@ static long long int load_integral_value(const char *pKeyName) { static double load_float_value(const char *pKeyName) { double val; if (config_lookup_float(&g_cfgContent, pKeyName, &val) != CONFIG_TRUE) { - dzlog_error("No {%s} setting in configuration file.\n", pKeyName); + LOG_MSG(error, ZLOG_MOD_CONFIG, "No {%s} setting in configuration file.\n", pKeyName); return DEFAULT_INTEGRAL_ERR_VALUE; } @@ -392,10 +396,12 @@ static void refreshCfgFileCb() { int cfgUpgrade = FALSE; if (!config_read_file(&g_cfgContent, g_cfgFilePath)) { - dzlog_error("%s:%d - %s\n", - config_error_file(&g_cfgContent), - config_error_line(&g_cfgContent), - config_error_text(&g_cfgContent)); + LOG_MSG(error, + ZLOG_MOD_CONFIG, + "%s:%d - %s\n", + config_error_file(&g_cfgContent), + config_error_line(&g_cfgContent), + config_error_text(&g_cfgContent)); return; } @@ -610,37 +616,37 @@ const char *config_item_dump_fmt(const char *titleMessage) { void config_item_dump(const char *titleMessage) { const char *pMsg = config_item_dump_fmt(titleMessage); - dzlog_info("%s", pMsg); + LOG_MSG(info, ZLOG_MOD_CONFIG, "%s", pMsg); free((char *)pMsg); #if 0 PCONFIG_ITEM pItem, pTmp; //int i, k = ARRAY_SIZE(g_sysConfigMap); - dzlog_info("================== %s ===================\n", titleMessage == NULL ? "" : titleMessage); + LOG_MSG(info, ZLOG_MOD_CONFIG, "================== %s ===================\n", titleMessage == NULL ? "" : titleMessage); HASH_ITER(hh, g_pConfigItem, pItem, pTmp) { switch (pItem->valType) { case VAL_BOOL: - dzlog_info("%s%-25s: [%-45s] = %s\n", + LOG_MSG(info, ZLOG_MOD_CONFIG, "%s%-25s: [%-45s] = %s\n", cfg_is_upgrade(pItem) ? "*" : " ", pItem->pStrId, pItem->pcfgKey, CFG_BOOL_VALUE(pItem) ? "True" : "False"); break; case VAL_INT: - dzlog_info("%s%-25s: [%-45s] = %lld\n", + LOG_MSG(info, ZLOG_MOD_CONFIG, "%s%-25s: [%-45s] = %lld\n", cfg_is_upgrade(pItem) ? "*" : " ", pItem->pStrId, pItem->pcfgKey, CFG_INT_VALUE(pItem)); break; case VAL_FLOAT: - dzlog_info("%s%-25s: [%-45s] = %Lf\n", + LOG_MSG(info, ZLOG_MOD_CONFIG, "%s%-25s: [%-45s] = %Lf\n", cfg_is_upgrade(pItem) ? "*" : " ", pItem->pStrId, pItem->pcfgKey, CFG_FLOAT_VALUE(pItem)); break; case VAL_STR: - dzlog_info("%s%-25s: [%-45s] = \"%s\"\n", + LOG_MSG(info, ZLOG_MOD_CONFIG, "%s%-25s: [%-45s] = \"%s\"\n", cfg_is_upgrade(pItem) ? "*" : " ", pItem->pStrId, pItem->pcfgKey, @@ -707,7 +713,7 @@ int init_config_system(const char *pCfgFile, const char *pKey) { int i; if (!file_exists(pCfgFile)) { - dzlog_error("Configuration file [%s] not exists\n", pCfgFile); + LOG_MSG(error, ZLOG_MOD_CONFIG, "Configuration file [%s] not exists\n", pCfgFile); return -ERR_FILE_NOT_EXISTS; } @@ -769,7 +775,7 @@ const char *get_config_key(const char *pKeygen) { unsigned char *pBase64 = (unsigned char *)base64_decode(pKeygen, (unsigned int *)&outSize); if (pBase64 == NULL) { - dzlog_error("Base64 decode error: %s\n", pKeygen); + LOG_MSG(error, ZLOG_MOD_CONFIG, "Base64 decode error: %s\n", pKeygen); return NULL; } diff --git a/srcs/libs/crypto/base64.c b/srcs/libs/crypto/base64.c index 6675006..9ea293d 100644 --- a/srcs/libs/crypto/base64.c +++ b/srcs/libs/crypto/base64.c @@ -4,9 +4,9 @@ #include #include #include -#include #include "crypto.h" +#include "zlog_module.h" #if 0 /** @@ -129,7 +129,7 @@ unsigned char *base64_decode(const char *pBase64, unsigned int *pOutSize) { #else EVP_DecodeInit(pCtx); if (EVP_DecodeUpdate(pCtx, pDecode, &enSize, (const unsigned char *)pBase64, size) == -1) { - dzlog_error("Decode [%s] error\n", pBase64); + LOG_MSG(error, ZLOG_MOD_CRYPTO, "Decode [%s] error\n", pBase64); free(pDecode); return NULL; } @@ -142,7 +142,7 @@ unsigned char *base64_decode(const char *pBase64, unsigned int *pOutSize) { EVP_DecodeFinal(&ctx, pDecode + enSize, &size); #else if (EVP_DecodeFinal(pCtx, pDecode, &enSize) == -1) { - dzlog_error("Finish decode [%s] error\n", pBase64); + LOG_MSG(error, ZLOG_MOD_CRYPTO, "Finish decode [%s] error\n", pBase64); free(pDecode); return NULL; } diff --git a/srcs/libs/crypto/hash_digest.c b/srcs/libs/crypto/hash_digest.c index 53be6f4..8764681 100644 --- a/srcs/libs/crypto/hash_digest.c +++ b/srcs/libs/crypto/hash_digest.c @@ -6,11 +6,11 @@ #include #include #include -#include #include "crypto.h" #include "misc.h" #include "user_errno.h" +#include "zlog_module.h" /** * 计算文件MD5值 @@ -57,7 +57,7 @@ int hash_digest_file(HASH_TYPE hashType, const char *pFileName, char **pHashValu fd = open(pFileName, O_RDONLY); if (fd == -1) { - dzlog_error("Open File %s error\n", pFileName); + LOG_MSG(error, ZLOG_MOD_CRYPTO, "Open File %s error\n", pFileName); EVP_MD_CTX_destroy(pCtx); return (-ERR_OPEN_FILE); } diff --git a/srcs/libs/include/zlog_module.h b/srcs/libs/include/zlog_module.h new file mode 100644 index 0000000..651ab99 --- /dev/null +++ b/srcs/libs/include/zlog_module.h @@ -0,0 +1,62 @@ +// +// Created by xajhuang on 2023/2/6. +// + +#ifndef VCPE_ZLOG_MODULE_H +#define VCPE_ZLOG_MODULE_H +#ifdef __cplusplus +extern "C" { +#endif +#include + +#define MAX_ZLOG_MOD_LEN (8) + +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 LOG_MSG(level, mod, format, ...) \ + do { \ + zlog_category_t *cat; \ + if ((cat = zlog_get_mod_cat((mod))) == NULL) { \ + printf("Unsupport log mod %d\n", mod); \ + break; \ + } else { \ + zlog_##level((cat), format, ##__VA_ARGS__); \ + } \ + } while (0) + +#define LOG_MSG_HEX(level, mod, format, ...) \ + do { \ + zlog_category_t *cat; \ + if ((cat = zlog_get_mod_cat((mod))) == NULL) { \ + printf("Unsupport log mod %d\n", mod); \ + break; \ + } else { \ + hzlog_##level((cat), format, ##__VA_ARGS__); \ + } \ + } while (0) + +zlog_category_t *zlog_get_mod_cat(ZLOG_MOD_NAME logMod); + +#ifdef __cplusplus +} +#endif +#endif //VCPE_ZLOG_MODULE_H diff --git a/srcs/libs/init/init_runtime.c b/srcs/libs/init/init_runtime.c index df8e815..d1be32a 100644 --- a/srcs/libs/init/init_runtime.c +++ b/srcs/libs/init/init_runtime.c @@ -2,7 +2,6 @@ // Created by xajhu on 2021/7/5 0005. // #include -#include #include #include "init.h" @@ -20,6 +19,7 @@ #include "haywire.h" #include "lib_config.h" #include "prj_config.h" +#include "zlog_module.h" #define DEFAULT_CONFIG_FILE ("vcpe.cfg") #define DEFAULT_CONFIG_DIR ("config") @@ -30,7 +30,7 @@ static int g_isInited = FALSE; static void catch_system_interupt(int UNUSED(sig_num)) { if (g_pid == uv_os_getpid()) { printf("\n"); - dzlog_warn("System close, clearing system resources..........\n\n"); + LOG_MSG(warn, ZLOG_MOD_INIT, "System close, clearing system resources..........\n\n"); task_manager_exit(); sleep(1); } @@ -82,7 +82,7 @@ int user_init(const char *pAppCfgFile, const char *pCfgDirectory, const char *pK zlog_profile(); return -ERR_ZLOG_INIT; } else { - dzlog_info("Zlog used configure file [%s]\n", utstring_body(pPath)); + LOG_MSG(info, ZLOG_MOD_INIT, "Zlog used configure file [%s]\n", utstring_body(pPath)); } } else { printf("Zlog configure file [%s] not found, Zlog system not work+++++\n", utstring_body(pPath)); @@ -94,20 +94,22 @@ int user_init(const char *pAppCfgFile, const char *pCfgDirectory, const char *pK utstring_free(pPath); // 处置化配置文件库,系统集成配置文件支持功能 - dzlog_info("System used configure file [%s]\n", bufCfgFile); + LOG_MSG(info, ZLOG_MOD_INIT, "System used configure file [%s]\n", bufCfgFile); if ((ret = init_config_system(bufCfgFile, pKey)) != ERR_SUCCESS) { - dzlog_error("Load system configuration error: %d\n", ret); + LOG_MSG(error, ZLOG_MOD_INIT, "Load system configuration error: %d\n", ret); return -ERR_CONFIG_INIT; } - dzlog_info("%s library version %s information: %s (Build: %s %s GCC Ver:%s) With %lu(bits) OS\n", - VCPE_LIB_NAME, - VCPE_LIB_VER, - VCPE_GIT_VERSION, - __DATE__, - __TIME__, - __VERSION__, - sizeof(int *) * 8); + LOG_MSG(info, + ZLOG_MOD_INIT, + "%s library version %s information: %s (Build: %s %s GCC Ver:%s) With %lu(bits) OS\n", + VCPE_LIB_NAME, + VCPE_LIB_VER, + VCPE_GIT_VERSION, + __DATE__, + __TIME__, + __VERSION__, + sizeof(int *) * 8); if (cfg_get_banner_enable()) { banner_show(); @@ -121,11 +123,11 @@ int user_init(const char *pAppCfgFile, const char *pCfgDirectory, const char *pK } if ((ret = mq_init()) != ERR_SUCCESS) { - dzlog_error("Message queue init error: %d\n", ret); + LOG_MSG(error, ZLOG_MOD_INIT, "Message queue init error: %d\n", ret); } if ((ret = mq_data_init()) != ERR_SUCCESS) { - dzlog_error("Message queue init error: %d\n", ret); + LOG_MSG(error, ZLOG_MOD_INIT, "Message queue init error: %d\n", ret); } http_svr_init(); diff --git a/srcs/libs/misc/misc.c b/srcs/libs/misc/misc.c index d602175..fbae2d7 100644 --- a/srcs/libs/misc/misc.c +++ b/srcs/libs/misc/misc.c @@ -4,7 +4,6 @@ #include #include #include -#include #include #include #include @@ -15,6 +14,7 @@ #include "user_errno.h" #include "misc.h" +#include "zlog_module.h" const char *basename_v2(const char *path) { const char *tail = strrchr(path, '/'); @@ -53,14 +53,14 @@ int copy_file(const char *pSrc, const char *pDest) { ssize_t sz; if (stat(pSrc, &st) != 0) { - dzlog_error("Get File %s Size Error\n", pSrc); + LOG_MSG(error, ZLOG_MOD_MISC, "Get File %s Size Error\n", pSrc); return (-ERR_GET_FILE_SIZE); } fdSrc = open(pSrc, O_RDONLY); if (fdSrc < 0) { - dzlog_error("Open File %s Error\n", pSrc); + LOG_MSG(error, ZLOG_MOD_MISC, "Open File %s Error\n", pSrc); return (-ERR_OPEN_FILE); } @@ -68,14 +68,14 @@ int copy_file(const char *pSrc, const char *pDest) { if (fdDest < 0) { close(fdSrc); - dzlog_error("Open File %s Error\n", pDest); + LOG_MSG(error, ZLOG_MOD_MISC, "Open File %s Error\n", pDest); return (-ERR_OPEN_FILE); } sz = sendfile(fdDest, fdSrc, NULL, st.st_size); if (sz != st.st_size) { - dzlog_error("Copy File Size Error: %zd, %ld\n", sz, st.st_size); + LOG_MSG(error, ZLOG_MOD_MISC, "Copy File Size Error: %zd, %ld\n", sz, st.st_size); close(fdSrc); close(fdDest); return (-ERR_COPY_FILE); @@ -201,7 +201,7 @@ int get_nic_info(const char *pName, sock = socket(AF_INET, SOCK_DGRAM, IPPROTO_UDP); if (sock < 0) { - dzlog_error("Get local NIC information failed\n"); + LOG_MSG(error, ZLOG_MOD_MISC, "Get local NIC information failed\n"); return -ERR_SYS_INIT; } diff --git a/srcs/libs/mq/mq_data.c b/srcs/libs/mq/mq_data.c index 4b597f3..6bdd95e 100644 --- a/srcs/libs/mq/mq_data.c +++ b/srcs/libs/mq/mq_data.c @@ -5,12 +5,12 @@ #include #include #include -#include #include "msg_queue.h" #include "config.h" #include "s2j/s2j.h" #include "user_errno.h" +#include "zlog_module.h" #ifdef LWIP_ON #include "misc.h" @@ -300,7 +300,7 @@ static void process_data_msg(void *UNUSED(pDataCh), zmq_msg_t *pMsg) { memset(pBuf, 0, size); memcpy(pBuf, zmq_msg_data(pMsg), size - 1); - dzlog_info("receive(%zu): %s\n", strlen(pdata), pBuf); + LOG_MSG(info, ZLOG_MOD_MQ, "receive(%zu): %s\n", strlen(pdata), pBuf); zmq_msg_close(pMsg); @@ -309,7 +309,7 @@ static void process_data_msg(void *UNUSED(pDataCh), zmq_msg_t *pMsg) { if (pMqMsg) { if (strcmp(AGENT_CMD_ADDUSER, pMqMsg->message) == 0) { PMQ_DATA_ADD_USER p = NULL; - dzlog_debug("Process: %s\n", pMqMsg->params); + LOG_MSG(debug, ZLOG_MOD_MQ, "Process: %s\n", pMqMsg->params); decode_add_user_msg(pMqMsg->params, &p); if (p) { #ifdef LWIP_ON @@ -338,7 +338,7 @@ static void process_data_msg(void *UNUSED(pDataCh), zmq_msg_t *pMsg) { } } else if (strcmp(AGENT_CMD_REMOVUSER, pMqMsg->message) == 0) { PMQ_DATA_REMOVE_USER p = NULL; - dzlog_debug("Process: %s\n", pMqMsg->params); + LOG_MSG(debug, ZLOG_MOD_MQ, "Process: %s\n", pMqMsg->params); decode_remove_user_msg(pMqMsg->params, &p); @@ -362,7 +362,7 @@ int mq_data_send_msg(const char *pMsg) { zmq_msg_t msg; if (pMsg) { - dzlog_debug("Send PPPoE Session: %s\n", pMsg); + LOG_MSG(debug, ZLOG_MOD_MQ, "Send PPPoE Session: %s\n", pMsg); zmq_msg_init_size(&msg, strlen(pMsg) + 1); memset(zmq_msg_data(&msg), 0, strlen(pMsg) + 1); memcpy(zmq_msg_data(&msg), pMsg, strlen(pMsg)); @@ -407,7 +407,7 @@ int mq_data_init() { memset(buf, 0, 1024); sprintf(buf, "%s", cfg_get_zero_mq_data_path()); - dzlog_info("Start message queue connect: %s\n", buf); + LOG_MSG(info, ZLOG_MOD_MQ, "Start message queue connect: %s\n", buf); if (zmq_connect(g_pDataCh, buf) != 0) { zmq_close(g_pDataCh); diff --git a/srcs/libs/mq/msg_queue.c b/srcs/libs/mq/msg_queue.c index b5b6bd7..6224795 100644 --- a/srcs/libs/mq/msg_queue.c +++ b/srcs/libs/mq/msg_queue.c @@ -5,12 +5,14 @@ #include #include #include -#include +#include "zlog_module.h" #include "msg_queue.h" #include "config.h" #include "user_errno.h" +#ifdef USED_LWIP #include "misc.h" +#endif static int g_mqExit = FALSE; static void *g_pContext = NULL; @@ -21,7 +23,7 @@ static void process_msg(zmq_msg_t *pMsg) { zmq_msg_t msg; const char *pRecMsg = strdup((const char *)zmq_msg_data(pMsg)); - dzlog_info("receive(%zu): %s\n", zmq_msg_size(pMsg), pRecMsg); + LOG_MSG(info, ZLOG_MOD_MQ, "receive(%zu): %s\n", zmq_msg_size(pMsg), pRecMsg); zmq_msg_close(pMsg); pResp = on_msg_cmd(pRecMsg); @@ -92,7 +94,7 @@ int mq_init(void) { memset(buf, 0, 1024); sprintf(buf, "tcp://*:%d", cfg_get_zero_mq_port()); - dzlog_info("Start message queue server: tcp://*:%d\n", cfg_get_zero_mq_port()); + LOG_MSG(info, ZLOG_MOD_MQ, "Start message queue server: tcp://*:%d\n", cfg_get_zero_mq_port()); if (zmq_bind(g_pResponse, buf) != 0) { zmq_close(g_pResponse); diff --git a/srcs/libs/network/inet_misc.c b/srcs/libs/network/inet_misc.c index d87b90a..74971a2 100644 --- a/srcs/libs/network/inet_misc.c +++ b/srcs/libs/network/inet_misc.c @@ -2,7 +2,6 @@ // Created by xajhu on 2021/7/1 0001. // #include -#include #include #include #include @@ -15,6 +14,7 @@ #include "uthash/uthash.h" #include "task_manager.h" #include "user_errno.h" +#include "zlog_module.h" #define MAX_TIMEOUT_VALUE (300) @@ -95,7 +95,7 @@ static void uvFsCloseCb(uv_fs_t *puvFs) { PHTTP_REQ_PARAMS pParams = (PHTTP_REQ_PARAMS)puvFs->data; if (puvFs->result < 0) { - dzlog_error("Error: %zd\n", puvFs->result); + LOG_MSG(error, ZLOG_MOD_NET, "Error: %zd\n", puvFs->result); } uv_fs_req_cleanup(puvFs); @@ -136,7 +136,7 @@ static void uvFsDataSyncCb(uv_fs_t *puvFs) { PHTTP_REQ_PARAMS pParams = (PHTTP_REQ_PARAMS)puvFs->data; if (puvFs->result < 0) { - dzlog_error("Error: %zd\n", puvFs->result); + LOG_MSG(error, ZLOG_MOD_NET, "Error: %zd\n", puvFs->result); } uv_fs_req_cleanup(puvFs); @@ -150,7 +150,7 @@ static PCURL_CONTEXT_DATA createCurlContext(curl_socket_t sock) { pContext->sock = sock; if (uv_poll_init_socket(get_task_manager(), &pContext->uvPool, sock) != 0) { - dzlog_error("uv_poll_init_socket Error\n"); + LOG_MSG(error, ZLOG_MOD_NET, "uv_poll_init_socket Error\n"); } pContext->uvPool.data = pContext; @@ -168,7 +168,7 @@ static void checkMultiInfoTimeout(void) { case CURLMSG_DONE: curl_easy_getinfo(pMsg->easy_handle, CURLINFO_PRIVATE, (void *)&pReq); - dzlog_error("Cleanup CURL: %p\n", pMsg->easy_handle); + LOG_MSG(error, ZLOG_MOD_NET, "Cleanup CURL: %p\n", pMsg->easy_handle); curl_multi_remove_handle(g_pCurl, pMsg->easy_handle); curl_easy_cleanup(pMsg->easy_handle); @@ -202,7 +202,7 @@ static void checkMultiInfoTimeout(void) { break; default: - dzlog_error("pMsg->msg(%d) != CURLMSG_DONE\n", pMsg->msg); + LOG_MSG(error, ZLOG_MOD_NET, "pMsg->msg(%d) != CURLMSG_DONE\n", pMsg->msg); return; } } @@ -219,7 +219,7 @@ static void checkMultiInfo(void) { curl_easy_getinfo(pMsg->easy_handle, CURLINFO_PRIVATE, (void *)&pReq); curl_multi_remove_handle(g_pCurl, pMsg->easy_handle); - dzlog_debug("Cleanup CURL: %p\n", pMsg->easy_handle); + LOG_MSG(debug, ZLOG_MOD_NET, "Cleanup CURL: %p\n", pMsg->easy_handle); curl_easy_cleanup(pMsg->easy_handle); if (pReq) { @@ -302,7 +302,7 @@ static void checkMultiInfo(void) { break; default: - dzlog_error("pMsg->msg(%d) != CURLMSG_DONE\n", pMsg->msg); + LOG_MSG(error, ZLOG_MOD_NET, "pMsg->msg(%d) != CURLMSG_DONE\n", pMsg->msg); return; } } @@ -449,7 +449,7 @@ static int progressCb(void *pData, double total, double now, double UNUSED(ulTot } if (pParams->isCancel) { - dzlog_error("Cancel Download: %s\n", pParams->pTaskUuid); + LOG_MSG(error, ZLOG_MOD_NET, "Cancel Download: %s\n", pParams->pTaskUuid); return (-CURLE_OPERATION_TIMEDOUT); } @@ -498,10 +498,12 @@ static void onDlTimeoutCb(uv_timer_t *UNUSED(pufTimer)) { // 下载时间大于10s且平均下载速度小于10K/s超时 if ((dlTime * 10000 > pItem->pCurlItem->dlSize) && dlTime > 10) { - dzlog_error("Download Speed less than 10k/s: %s (%uK/%llu(s))\n", - pItem->pTaskUuid, - pItem->pCurlItem->dlSize / 1000, - dlTime); + LOG_MSG(error, + ZLOG_MOD_NET, + "Download Speed less than 10k/s: %s (%uK/%llu(s))\n", + pItem->pTaskUuid, + pItem->pCurlItem->dlSize / 1000, + dlTime); cancelDownloadTask(pItem->pCurlItem); if (pItem->pCurlItem->onRspCb) { @@ -519,7 +521,7 @@ static void onDlTimeoutCb(uv_timer_t *UNUSED(pufTimer)) { // 5分钟内没有下载任何数据超时 if (pItem->pCurlItem->lastTm > 0) { if (curTm > pItem->pCurlItem->lastTm + MAX_TIMEOUT_VALUE) { - dzlog_error("Download Timeout: %s\n", pItem->pTaskUuid); + LOG_MSG(error, ZLOG_MOD_NET, "Download Timeout: %s\n", pItem->pTaskUuid); cancelDownloadTask(pItem->pCurlItem); if (pItem->pCurlItem->onRspCb) { pItem->pCurlItem->onRspCb(NULL, @@ -536,10 +538,12 @@ static void onDlTimeoutCb(uv_timer_t *UNUSED(pufTimer)) { // 下载最长时间设置为1800秒(60分钟) if (dlTime > 3600) { - dzlog_error("Download More than 1800 seconds: %s (%uK/%llu(s))\n", - pItem->pTaskUuid, - pItem->pCurlItem->dlSize / 1000, - dlTime); + LOG_MSG(error, + ZLOG_MOD_NET, + "Download More than 1800 seconds: %s (%uK/%llu(s))\n", + pItem->pTaskUuid, + pItem->pCurlItem->dlSize / 1000, + dlTime); cancelDownloadTask(pItem->pCurlItem); if (pItem->pCurlItem->onRspCb) { pItem->pCurlItem->onRspCb(NULL, @@ -595,7 +599,7 @@ const char *inet_download_file_async(const char *pURL, return (NULL); } - dzlog_debug("Begin Download: %s --> %s\n", pURL, pPath); + LOG_MSG(debug, ZLOG_MOD_NET, "Begin Download: %s --> %s\n", pURL, pPath); pParams = (PHTTP_REQ_PARAMS)malloc(sizeof(HTTP_REQ_PARAMS)); @@ -639,7 +643,12 @@ const char *inet_download_file_async(const char *pURL, pParams->uvFsDataSync.data = pParams; pParams->uvFsClose.data = pParams; - dzlog_debug("[%s]: File %s used temp path %s\n", pParams->pTaskUuid, pParams->sPath, pParams->sDlPath); + LOG_MSG(debug, + ZLOG_MOD_NET, + "[%s]: File %s used temp path %s\n", + pParams->pTaskUuid, + pParams->sPath, + pParams->sDlPath); uv_fs_open(get_task_manager(), &pParams->uvFsOpen, @@ -693,14 +702,14 @@ const char *inet_download_file_async(const char *pURL, curl_easy_setopt(pCurl, CURLOPT_SSL_VERIFYHOST, 0L); #endif - dzlog_debug("Download(%u): %s --> %p\n", g_TotalDownloads++, pParams->pTaskUuid, pCurl); + LOG_MSG(debug, ZLOG_MOD_NET, "Download(%u): %s --> %p\n", g_TotalDownloads++, pParams->pTaskUuid, pCurl); ret = curl_multi_add_handle(g_pCurl, pCurl); if (ret == CURLE_OK) { addReqIdToTable(pParams->pTaskUuid, pParams); return (pParams->pTaskUuid); } else { free(pParams->pTaskUuid); - dzlog_error("Add Handle Error: %d\n", ret); + LOG_MSG(error, ZLOG_MOD_NET, "Add Handle Error: %d\n", ret); return NULL; } } @@ -777,14 +786,14 @@ const char *inet_http_post_async(const char *pURL, const char *pPost, on_http_re curl_easy_setopt(pCurl, CURLOPT_SSL_VERIFYHOST, 0L); #endif - dzlog_debug("Http POST(%u): %s --> %p\n", g_TotalDownloads++, pParams->pTaskUuid, pCurl); + LOG_MSG(debug, ZLOG_MOD_NET, "Http POST(%u): %s --> %p\n", g_TotalDownloads++, pParams->pTaskUuid, pCurl); ret = curl_multi_add_handle(g_pCurl, pCurl); if (ret == CURLE_OK) { addReqIdToTable(pParams->pTaskUuid, pParams); return (pParams->pTaskUuid); } else { free(pParams->pTaskUuid); - dzlog_error("Add Handle Error: %d\n", ret); + LOG_MSG(error, ZLOG_MOD_NET, "Add Handle Error: %d\n", ret); return NULL; } } @@ -795,7 +804,7 @@ int inet_api_init(void) { ret = curl_global_init(CURL_GLOBAL_ALL); if (ret != 0) { - dzlog_error("curl init error: %d\n", ret); + LOG_MSG(error, ZLOG_MOD_NET, "curl init error: %d\n", ret); return ret; } diff --git a/srcs/libs/protocol/protocol.c b/srcs/libs/protocol/protocol.c index 1c4e9e8..fed8e1f 100644 --- a/srcs/libs/protocol/protocol.c +++ b/srcs/libs/protocol/protocol.c @@ -1,7 +1,6 @@ // // Created by xajhuang on 2022/12/2. // -#include #include #include "config.h" @@ -10,6 +9,7 @@ #include "proto.h" #include "crypto.h" #include "user_errno.h" +#include "zlog_module.h" #define CURRENT_PROTOCOL_VERSION (1) @@ -161,7 +161,10 @@ const char *proto_create_new(cJSON *pMsgCtx, int httpCode) { } if (pKey == NULL || strlen(pKey) == 0) { - dzlog_error("Cryptography key empty of algorithm %d, Used default algorithm BASE64\n", cryptoType); + LOG_MSG(error, + ZLOG_MOD_PROTO, + "Cryptography key empty of algorithm %d, Used default algorithm BASE64\n", + cryptoType); base64 = base64_encode((unsigned char *)pStrMsg, strlen(pStrMsg)); pro.cryptoType = CRYPTO_BASE64; } else { @@ -172,7 +175,10 @@ const char *proto_create_new(cJSON *pMsgCtx, int httpCode) { ret = symmetric_encrypto(cryptoType, (unsigned char *)pStrMsg, strlen(pStrMsg), &buf, &outSize, pKey); if (ret != ERR_SUCCESS) { - dzlog_error("Unsupported protocol crypto : %d, Used default algorithm BASE64\n", cryptoType); + LOG_MSG(error, + ZLOG_MOD_PROTO, + "Unsupported protocol crypto : %d, Used default algorithm BASE64\n", + cryptoType); base64 = base64_encode((unsigned char *)pStrMsg, strlen(pStrMsg)); pro.cryptoType = CRYPTO_BASE64; } else { @@ -185,14 +191,17 @@ const char *proto_create_new(cJSON *pMsgCtx, int httpCode) { cJSON_free(pro.msgContend); } break; default: - dzlog_error("Unsupported protocol crypto algorithms: %d, Used default algorithm BASE64\n", pro.cryptoType); + LOG_MSG(error, + ZLOG_MOD_PROTO, + "Unsupported protocol crypto algorithms: %d, Used default algorithm BASE64\n", + pro.cryptoType); cJSON_free(pro.msgContend); cJSON_Delete(pRoot); return NULL; } pStrProto = cJSON_Print(pRoot); - dzlog_debug("Create: \n%s\n", pStrProto); + LOG_MSG(debug, ZLOG_MOD_PROTO, "Create: \n%s\n", pStrProto); cJSON_Delete(pRoot); diff --git a/srcs/libs/task/task_manager.c b/srcs/libs/task/task_manager.c index b1985a1..d2fcb96 100644 --- a/srcs/libs/task/task_manager.c +++ b/srcs/libs/task/task_manager.c @@ -3,11 +3,11 @@ // #include -#include #include "task_manager.h" #include "misc.h" #include "uthash/utlist.h" #include "user_errno.h" +#include "zlog_module.h" typedef struct SYSTEM_EXIT_CONTENT { system_exit_cb cb; @@ -84,6 +84,6 @@ void task_manager_run() { free(pCtx); } - dzlog_info("Main task exited..............\n"); + LOG_MSG(info, ZLOG_MOD_TASK, "Main task exited..............\n"); g_isSystemExit = TRUE; } \ No newline at end of file diff --git a/srcs/libs/zlog_module/zlog_module.c b/srcs/libs/zlog_module/zlog_module.c new file mode 100644 index 0000000..52112d5 --- /dev/null +++ b/srcs/libs/zlog_module/zlog_module.c @@ -0,0 +1,42 @@ +// +// Created by xajhuang on 2023/2/6. +// +#include "zlog_module.h" + +typedef struct { + ZLOG_MOD_NAME logModule; + zlog_category_t *pCat; + char catName[MAX_ZLOG_MOD_LEN]; +} ZLOG_MODULE, *PZLOG_MODULE; + +static ZLOG_MODULE g_zlogModule[] = { + {ZLOG_MOD_MAIN, NULL, "MAIN" }, + {ZLOG_MOD_TASK, NULL, "TASK" }, + {ZLOG_MOD_INIT, NULL, "INIT" }, + {ZLOG_MOD_MISC, NULL, "MISC" }, + {ZLOG_MOD_CONFIG, NULL, "CONFIG"}, + {ZLOG_MOD_NET, NULL, "NET" }, + {ZLOG_MOD_CRYPTO, NULL, "CRYPTO"}, + {ZLOG_MOD_MQ, NULL, "MQ" }, + {ZLOG_MOD_PROTO, NULL, "PROTO" }, + {ZLOG_MOD_HTTPD, NULL, "HTTPD" }, +#ifdef USED_LWIP + {ZLOG_MOD_USER, NULL, "USER" }, + {ZLOG_MOD_PPPOE, NULL, "PPPOE" }, + {ZLOG_MOD_VXLAN, NULL, "VXLAN" }, + {ZLOG_MOD_LWIP, NULL, "LWIP" }, +#endif + {ZLOG_MOD_OPENDHCPD, NULL, "DHCPD" } +}; + +zlog_category_t *zlog_get_mod_cat(ZLOG_MOD_NAME logMod) { + if (logMod >= ZLOG_MOD_MAX) { + return NULL; + } + + if (g_zlogModule[logMod].pCat == NULL) { + g_zlogModule[logMod].pCat = zlog_get_category(g_zlogModule[logMod].catName); + } + + return g_zlogModule[logMod].pCat; +} diff --git a/srcs/lwip/src/arch_linux/core/vxlan_pkg.c b/srcs/lwip/src/arch_linux/core/vxlan_pkg.c index 5dfe6bd..6f70d39 100644 --- a/srcs/lwip/src/arch_linux/core/vxlan_pkg.c +++ b/srcs/lwip/src/arch_linux/core/vxlan_pkg.c @@ -3,12 +3,12 @@ // #include -#include #include #include "lwip/opt.h" #include "lwip/vxlan.h" +#include "zlog_module.h" #include "misc.h" #include "user_errno.h" @@ -30,11 +30,10 @@ typedef struct { unsigned char snd_pkg_head[VXLAN_HEAD_SIZE]; } VXLAN_PKG_HEAD, *PVXLAN_PKG_HEAD; - typedef struct { - NIC_INFO nic_info; + NIC_INFO nic_info; PVXLAN_PKG_HEAD pkg_head; - uv_rwlock_t lock_peer; + uv_rwlock_t lock_peer; } VXLAN_LINK_CONFIG, *PVXLAN_LINK_CONFIG; static VXLAN_LINK_CONFIG g_vxLanLinks; @@ -117,7 +116,7 @@ unsigned char *vxlan_pkg_encode(const unsigned char *pInBuf, int inSize, PVXLAN_ unsigned short ip_len = udp_len + 20; unsigned int total_len = ip_len + sizeof(struct eth_hdr); - if(g_vxLanLinks.pkg_head == NULL) { + if (g_vxLanLinks.pkg_head == NULL) { return NULL; } @@ -193,16 +192,16 @@ static void vxlan_pkg_head_init(PVXLAN_PKG_HEAD pvxLan) { // 设置UDP头部 // 设置UDP端口为vxLan 4789 端口 - pkg->udp_head.dest = lwip_htons(VXLAN_UDP_PORT); - pkg->udp_head.src = lwip_htons(VXLAN_UDP_PORT); + pkg->udp_head.dest = lwip_htons(VXLAN_UDP_PORT); + pkg->udp_head.src = lwip_htons(VXLAN_UDP_PORT); // 校验和初始化为0 pkg->udp_head.chksum = 0; // 设置vxlan隧道头部 - pkg->vxlan_head.flags = 0x08; - pkg->vxlan_head.res1 = 0x00; - pkg->vxlan_head.res2 = 0x00; - pkg->vxlan_head.res3 = 0x00; + pkg->vxlan_head.flags = 0x08; + pkg->vxlan_head.res1 = 0x00; + pkg->vxlan_head.res2 = 0x00; + pkg->vxlan_head.res3 = 0x00; // 设置内层ETH头部 // 设置内层报文类型 @@ -214,19 +213,23 @@ static void vxlan_pkg_head_init(PVXLAN_PKG_HEAD pvxLan) { int vxlan_peer_add(const char *pIp, const char *pMac) { if (!VERIFY_STRING(pIp) || !VERIFY_STRING(pMac)) { - dzlog_error("Input parameters error: %s, %s\n", SAFETY_STR_STRING(pIp), SAFETY_STR_STRING(pMac)); + LOG_MSG(error, + ZLOG_MOD_VXLAN, + "Input parameters error: %s, %s\n", + SAFETY_STR_STRING(pIp), + SAFETY_STR_STRING(pMac)); return -ERR_INPUT_PARAMS; } - if(g_vxLanLinks.pkg_head == NULL) { - unsigned int peerIp; - unsigned char peerMac[6]; + if (g_vxLanLinks.pkg_head == NULL) { + unsigned int peerIp; + unsigned char peerMac[6]; PVXLAN_PKG_HEAD pkg; str_to_mac(pMac, peerMac); if (str_to_ipaddr(pIp, &peerIp) == 0) { - dzlog_error("Get vxLan peer ip address failed: %s\n", pIp); + LOG_MSG(error, ZLOG_MOD_VXLAN, "Get vxLan peer ip address failed: %s\n", pIp); return -ERR_SYS_INIT; } @@ -245,7 +248,7 @@ int vxlan_peer_add(const char *pIp, const char *pMac) { // 对发送报文的头部进行初始化 vxlan_pkg_head_init(pkg); - dzlog_debug("Add vxLan Link: vSwitch: %s, %s\n", pIp, pMac); + LOG_MSG(debug, ZLOG_MOD_VXLAN, "Add vxLan Link: vSwitch: %s, %s\n", pIp, pMac); } return ERR_SUCCESS; @@ -253,7 +256,7 @@ int vxlan_peer_add(const char *pIp, const char *pMac) { int vxlan_link_init(const char *pEthName) { if (!VERIFY_STRING(pEthName)) { - dzlog_error("Input parameters error: %s\n", SAFETY_STR_STRING(pEthName)); + LOG_MSG(error, ZLOG_MOD_VXLAN, "Input parameters error: %s\n", SAFETY_STR_STRING(pEthName)); return -ERR_INPUT_PARAMS; } @@ -267,9 +270,8 @@ int vxlan_link_init(const char *pEthName) { &g_vxLanLinks.nic_info.ip_addr, &g_vxLanLinks.nic_info.ip_mask, &g_vxLanLinks.nic_info.ip_gw, - g_vxLanLinks.nic_info.mac) - != ERR_SUCCESS) { - dzlog_error("Get NIC information failed\n"); + g_vxLanLinks.nic_info.mac) != ERR_SUCCESS) { + LOG_MSG(error, ZLOG_MOD_VXLAN, "Get NIC information failed\n"); return -ERR_SYS_INIT; } diff --git a/srcs/lwip/src/arch_linux/include/netif/pppoeif.h b/srcs/lwip/src/arch_linux/include/netif/pppoeif.h index fb65ef5..ce58609 100644 --- a/srcs/lwip/src/arch_linux/include/netif/pppoeif.h +++ b/srcs/lwip/src/arch_linux/include/netif/pppoeif.h @@ -32,16 +32,17 @@ #ifndef LWIP_PPPOEIF_H #define LWIP_PPPOEIF_H +#include "zlog_module.h" #include "lwip/netif.h" #include "../../../../../include/pppoe_session.h" -#define DUMP_IF_BUF(tag, buf, len) \ - do { \ - dzlog_debug("%s ++++++\n", (tag)); \ - printf("\n"); \ - hdzlog_debug((buf), (len)); \ - printf("\n"); \ - dzlog_debug("%s ------\n", (tag)); \ +#define DUMP_IF_BUF(tag, buf, len) \ + do { \ + LOG_MSG(debug, ZLOG_MOD_LWIP, "%s ++++++\n", (tag)); \ + printf("\n"); \ + LOG_MSG_HEX(debug, ZLOG_MOD_LWIP, (buf), (len)); \ + printf("\n"); \ + LOG_MSG(debug, ZLOG_MOD_LWIP, "%s ------\n", (tag)); \ } while (0) #ifdef __cplusplus diff --git a/srcs/lwip/src/arch_linux/netif/pcapif.c b/srcs/lwip/src/arch_linux/netif/pcapif.c index aa6e7d6..1d78bc6 100644 --- a/srcs/lwip/src/arch_linux/netif/pcapif.c +++ b/srcs/lwip/src/arch_linux/netif/pcapif.c @@ -31,7 +31,6 @@ #include #include -#include #include #include "lwip/opt.h" @@ -51,6 +50,7 @@ #include "lwip/vxlan.h" #include "user_info.h" #include "lwip/tcpip.h" +#include "zlog_module.h" #include "misc.h" #if defined(LWIP_UNIX_LINUX) @@ -121,7 +121,7 @@ static void pcapif_msg_thread(void *arg) { } static void pcap_pkg_cb(unsigned char *args, const struct pcap_pkthdr *pkthdr, const unsigned char *packet) { - struct netif *netif = (struct netif *)(void *)args; + struct netif *netif = (struct netif *)(void *)args; //struct pbuf *p; //u16_t len = pkthdr->caplen; struct pcapif *pcapif = (struct pcapif *)netif->state; @@ -133,11 +133,12 @@ static void pcap_pkg_cb(unsigned char *args, const struct pcap_pkthdr *pkthdr, c memcpy(zmq_msg_data(&msg), packet, pkthdr->caplen); rc = zmq_msg_send(&msg, pcapif->msg_input, 0); if (rc == -1) { - dzlog_error("Send %d bytes message error: %s\n", pkthdr->caplen, strerror(errno)); + LOG_MSG(error, ZLOG_MOD_LWIP, "Send %d bytes message error: %s\n", pkthdr->caplen, strerror(errno)); } zmq_msg_close(&msg); } } + /*-----------------------------------------------------------------------------------*/ static void low_level_init(struct netif *netif) { struct pcapif *pcapif = (struct pcapif *)netif->state; @@ -162,6 +163,7 @@ static void low_level_init(struct netif *netif) { sys_thread_new("pcapif_msg_thread", pcapif_msg_thread, netif, DEFAULT_THREAD_STACKSIZE, DEFAULT_THREAD_PRIO); #endif /* !NO_SYS */ } + /*-----------------------------------------------------------------------------------*/ /* * low_level_output(): @@ -284,12 +286,15 @@ _Noreturn static void pcapif_thread(void *arg) { static void status_callback(struct netif *state_netif) { if (netif_is_up(state_netif)) { #if LWIP_IPV4 - dzlog_info("status_callback==UP, local interface IP is %s\n", ip4addr_ntoa(netif_ip4_addr(state_netif))); + LOG_MSG(info, + ZLOG_MOD_LWIP, + "status_callback==UP, local interface IP is %s\n", + ip4addr_ntoa(netif_ip4_addr(state_netif))); #else printf("status_callback==UP\n"); #endif } else { - dzlog_error("status_callback==DOWN\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, "status_callback==DOWN\n"); } } #endif /* LWIP_NETIF_STATUS_CALLBACK */ @@ -297,9 +302,9 @@ static void status_callback(struct netif *state_netif) { #if LWIP_NETIF_LINK_CALLBACK static void link_callback(struct netif *state_netif) { if (netif_is_link_up(state_netif)) { - dzlog_info("link_callback==UP\n"); + LOG_MSG(info, ZLOG_MOD_LWIP, "link_callback==UP\n"); } else { - dzlog_error("link_callback==DOWN\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, "link_callback==DOWN\n"); } } #endif /* LWIP_NETIF_LINK_CALLBACK */ @@ -360,7 +365,7 @@ static err_t netif_input_data(struct pbuf *p, struct netif *inp) { // 用户网卡处理数据 netif = get_user_nic_by_mac(eth->dest.addr); - if(netif) { + if (netif) { if ((err = netif->input(p, netif)) != ERR_OK) { LWIP_DEBUGF(NETIF_DEBUG, ("pppoeif_input: netif input error\n")); pbuf_free(p); @@ -387,7 +392,7 @@ struct netif *bind_pcap_if(const char *eth_name, const char *pkg_filter, int vxl struct pcapif *pcapif = (struct pcapif *)mem_malloc(sizeof(struct pcapif)); if (pcapif == NULL) { - dzlog_error("bind_pcapsocket_if: out of memory for pcapif\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, "bind_pcapsocket_if: out of memory for pcapif\n"); return NULL; } @@ -396,7 +401,7 @@ struct netif *bind_pcap_if(const char *eth_name, const char *pkg_filter, int vxl if (vxlan_support) { if (vxlan_link_init(eth_name) != ERR_OK) { - dzlog_error("bind_pcapsocket_if: Get local nic info failed\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, "bind_pcapsocket_if: Get local nic info failed\n"); free(pcapif); return NULL; } @@ -415,15 +420,15 @@ struct netif *bind_pcap_if(const char *eth_name, const char *pkg_filter, int vxl pPcap = pcap_open_live(pcapif->eth_name, MAX_BYTES_PACKAGE, 1, -1, errBuf); if (get_nic_info(eth_name, &ipaddr, &netmask, &gw, mac) != ERR_OK) { - dzlog_error("Get NIC %s information error\n", eth_name); + LOG_MSG(error, ZLOG_MOD_LWIP, "Get NIC %s information error\n", eth_name); } - dzlog_debug("Pcap netif used filter: \"%s\"\n", pcapif->pkg_filter); + LOG_MSG(debug, ZLOG_MOD_LWIP, "Pcap netif used filter: \"%s\"\n", pcapif->pkg_filter); if (pcap_compile(pPcap, &filter, pcapif->pkg_filter, 1, netmask) == -1) { - dzlog_error("Set package fileter[%s] error: %s\n", pcapif->pkg_filter, pcap_geterr(pPcap)); + LOG_MSG(error, ZLOG_MOD_LWIP, "Set package fileter[%s] error: %s\n", pcapif->pkg_filter, pcap_geterr(pPcap)); } if (pcap_setfilter(pPcap, &filter) == -1) { - dzlog_error("Set package fileter[%s] error: %s\n", pcapif->pkg_filter, pcap_geterr(pPcap)); + LOG_MSG(error, ZLOG_MOD_LWIP, "Set package fileter[%s] error: %s\n", pcapif->pkg_filter, pcap_geterr(pPcap)); } pcapif->pcap = pPcap; @@ -449,7 +454,7 @@ struct netif *bind_pcap_if(const char *eth_name, const char *pkg_filter, int vxl if (!netif) { mem_free(pcapif); - dzlog_error("Create netif error\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, "Create netif error\n"); return NULL; } diff --git a/srcs/lwip/src/arch_linux/netif/pppoe_if.c b/srcs/lwip/src/arch_linux/netif/pppoe_if.c index fe36cdd..b861a98 100644 --- a/srcs/lwip/src/arch_linux/netif/pppoe_if.c +++ b/srcs/lwip/src/arch_linux/netif/pppoe_if.c @@ -31,7 +31,6 @@ */ #include #include -#include #include "lwip/opt.h" #include "lwip/tcpip.h" @@ -45,6 +44,7 @@ #include "netif/etharp.h" +#include "zlog_module.h" #include "netif/pppoeif.h" #include "netif/rawif.h" #include "pppoe_session.h" @@ -112,6 +112,7 @@ static void low_level_init(struct netif *netif) { netif_set_link_up(netif); } + /*-----------------------------------------------------------------------------------*/ /* * low_level_output(): @@ -161,12 +162,12 @@ err_t pppoeif_init(struct netif *netif) { static void status_callback(struct netif *state_netif) { if (netif_is_up(state_netif)) { #if LWIP_IPV4 - dzlog_info("status_callback==UP, local interface IP is %s\n", ip4addr_ntoa(netif_ip4_addr(state_netif))); + LOG_MSG(info, ZLOG_MOD_LWIP, ("status_callback==UP, local interface IP is %s\n", ip4addr_ntoa(netif_ip4_addr(state_netif))); #else printf("status_callback==UP\n"); #endif } else { - dzlog_error("status_callback==DOWN\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, ("status_callback==DOWN\n"); } } #endif /* LWIP_NETIF_STATUS_CALLBACK */ @@ -174,9 +175,9 @@ static void status_callback(struct netif *state_netif) { #if LWIP_NETIF_LINK_CALLBACK static void link_callback(struct netif *state_netif) { if (netif_is_link_up(state_netif)) { - dzlog_info("link_callback==UP\n"); + LOG_MSG(info, ZLOG_MOD_LWIP, ("link_callback==UP\n"); } else { - dzlog_error("link_callback==DOWN\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, ("link_callback==DOWN\n"); } } #endif /* LWIP_NETIF_LINK_CALLBACK */ @@ -206,7 +207,7 @@ struct netif *create_pppoe_if(PUSER_INFO_CONTEXT pUser) { netif = (struct netif *)mem_malloc(sizeof(struct netif)); if (!netif) { - dzlog_error("Create PPPoE netif error\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, ("Create PPPoE netif error\n"); return NULL; } diff --git a/srcs/lwip/src/arch_linux/netif/rawif.c b/srcs/lwip/src/arch_linux/netif/rawif.c index 03bb1ea..e34c667 100644 --- a/srcs/lwip/src/arch_linux/netif/rawif.c +++ b/srcs/lwip/src/arch_linux/netif/rawif.c @@ -38,7 +38,6 @@ #include #include #include -#include #include #include "lwip/opt.h" @@ -59,6 +58,7 @@ #include "lwip/prot/udp.h" +#include "zlog_module.h" #include "config.h" #include "pppoe_info.h" #include "user_info.h" @@ -78,10 +78,10 @@ #define RAWIF_DEBUG LWIP_DBG_OFF #endif -#define USED_ENUMER_VXLAN (0) -#define AUTO_LEARN_VXLAN (0) +#define USED_ENUMER_VXLAN (0) +#define AUTO_LEARN_VXLAN (0) -#define DEFAULT_GW_IPADDR (0xC0A80001) +#define DEFAULT_GW_IPADDR (0xC0A80001) #define VXLAN_PORT_NET_ORDER (0x12B5) @@ -95,7 +95,6 @@ struct sockaddr_ll { unsigned char sll_addr[8]; }; - typedef struct { unsigned int vni; unsigned char *output_head; @@ -209,6 +208,7 @@ static void low_level_init(struct netif *netif) { sys_thread_new("rawif_thread", rawif_thread, netif, DEFAULT_THREAD_STACKSIZE, DEFAULT_THREAD_PRIO); #endif /* !NO_SYS */ } + /*-----------------------------------------------------------------------------------*/ /* * low_level_output(): @@ -250,7 +250,7 @@ static unsigned short udp_checksum(unsigned char *pNetPacket, unsigned int uLen) #endif static err_t low_level_output(struct netif *netif, struct pbuf *p) { -// unsigned char sndBuf[1518]; + // unsigned char sndBuf[1518]; unsigned char buf[1518]; /* max packet size including VLAN excluding CRC */ ssize_t written = 0; struct sockaddr_ll dstAddr; @@ -284,12 +284,12 @@ static err_t low_level_output(struct netif *netif, struct pbuf *p) { unsigned int dataSize = p->tot_len - sizeof(struct eth_hdr); struct eth_hdr *eth = (struct eth_hdr *)buf; struct vxlan_package *pkg = (struct vxlan_package *)sndBuf; - unsigned short udp_len = - p->tot_len + sizeof(struct vxlan_hdr) + sizeof(struct qinq_hdr) + sizeof(struct udp_hdr); + unsigned short udp_len = p->tot_len + sizeof(struct vxlan_hdr) + sizeof(struct qinq_hdr) + + sizeof(struct udp_hdr); unsigned short ip_len = udp_len + 20; unsigned int total_len = ip_len + sizeof(struct eth_hdr); - dzlog_debug("Found user vxlan connect: %d --> %u\n", pUser->userid, pvxlanBuf->vni); + LOG_MSG(debug, ZLOG_MOD_LWIP, ("Found user vxlan connect: %d --> %u\n", pUser->userid, pvxlanBuf->vni); memcpy(sndBuf, pvxlanBuf->output_head, sizeof(struct vxlan_package)); pkg->vxlan_head.vni_reserved = lwip_htonl(VXLAN_VIN_ID_PACK(pUser->vxlan.vni)); @@ -317,29 +317,27 @@ static err_t low_level_output(struct netif *netif, struct pbuf *p) { if(memcmp(buf, p->payload, p->tot_len) != 0) { - dzlog_debug("INPKG +++++\n"); - hdzlog_debug(p->payload, p->tot_len); + LOG_MSG(debug, ZLOG_MOD_LWIP, ("INPKG +++++\n"); + hLOG_MSG(debug, ZLOG_MOD_LWIP, (p->payload, p->tot_len); printf("\n"); - dzlog_debug("INPKG -----\n"); + LOG_MSG(debug, ZLOG_MOD_LWIP, ("INPKG -----\n"); - dzlog_debug("BUF +++++\n"); - hdzlog_debug(buf, p->tot_len); + LOG_MSG(debug, ZLOG_MOD_LWIP, ("BUF +++++\n"); + hLOG_MSG(debug, ZLOG_MOD_LWIP, (buf, p->tot_len); printf("\n"); - dzlog_debug("BUF -----\n"); + LOG_MSG(debug, ZLOG_MOD_LWIP, ("BUF -----\n"); } #if 0 - dzlog_debug("OUTPKG +++++\n"); - hdzlog_debug(sndBuf, total_len); + LOG_MSG(debug, ZLOG_MOD_LWIP, ("OUTPKG +++++\n"); + hLOG_MSG(debug, ZLOG_MOD_LWIP, (sndBuf, total_len); printf("\n"); - dzlog_debug("INPKG -----\n"); + LOG_MSG(debug, ZLOG_MOD_LWIP, ("INPKG -----\n"); #endif - dzlog_debug("In %u, out %u, send %zd\n", p->tot_len, total_len, written); + LOG_MSG(debug, ZLOG_MOD_LWIP, ("In %u, out %u, send %zd\n", p->tot_len, total_len, written); return written == (total_len) ? ERR_OK : ERR_IF; - - } else { /* signal that packet should be sent(); */ written = sendto(rawif->fd, buf, p->tot_len, 0, (struct sockaddr *)&dstAddr, sizeof(dstAddr)); @@ -363,6 +361,7 @@ static err_t low_level_output(struct netif *netif, struct pbuf *p) { return (written == p->tot_len) ? ERR_OK : ERR_IF; } + /*-----------------------------------------------------------------------------------*/ /* * low_level_input(): @@ -373,10 +372,10 @@ static err_t low_level_output(struct netif *netif, struct pbuf *p) { */ /*-----------------------------------------------------------------------------------*/ static struct pbuf *low_level_input(struct netif *netif) { - struct pbuf *p; - u16_t len; - int addrSize; - ssize_t readlen; + struct pbuf *p; + u16_t len; + int addrSize; + ssize_t readlen; // unsigned char buf[4096] = {0}; /* max packet size including VLAN excluding CRC */ struct sockaddr from; @@ -449,6 +448,7 @@ static void rawif_input(struct netif *netif) { pbuf_free(p); } } + /*-----------------------------------------------------------------------------------*/ /* * rawif_init(): @@ -519,12 +519,12 @@ _Noreturn static void rawif_thread(void *arg) { static void status_callback(struct netif *state_netif) { if (netif_is_up(state_netif)) { #if LWIP_IPV4 - dzlog_info("status_callback==UP, local interface IP is %s\n", ip4addr_ntoa(netif_ip4_addr(state_netif))); + LOG_MSG(info, ZLOG_MOD_LWIP, ("status_callback==UP, local interface IP is %s\n", ip4addr_ntoa(netif_ip4_addr(state_netif))); #else printf("status_callback==UP\n"); #endif } else { - dzlog_error("status_callback==DOWN\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, ("status_callback==DOWN\n"); } } #endif /* LWIP_NETIF_STATUS_CALLBACK */ @@ -532,9 +532,9 @@ static void status_callback(struct netif *state_netif) { #if LWIP_NETIF_LINK_CALLBACK static void link_callback(struct netif *state_netif) { if (netif_is_link_up(state_netif)) { - dzlog_info("link_callback==UP\n"); + LOG_MSG(info, ZLOG_MOD_LWIP, ("link_callback==UP\n"); } else { - dzlog_error("link_callback==DOWN\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, ("link_callback==DOWN\n"); } } #endif /* LWIP_NETIF_LINK_CALLBACK */ @@ -666,8 +666,8 @@ static err_t netif_input_data(struct pbuf *p, struct netif *inp) { } #else tag.vni = VXLAN_VIN_ID(lwip_htonl(pkg->vxlan_head.vni_reserved)); - tag.q1 = lwip_ntohs(pkg->qinq_head.out_priority_cfi_and_id); - tag.q2 = lwip_ntohs(pkg->qinq_head.in_priority_cfi_and_id); + tag.q1 = lwip_ntohs(pkg->qinq_head.out_priority_cfi_and_id); + tag.q2 = lwip_ntohs(pkg->qinq_head.in_priority_cfi_and_id); #endif HASH_FIND(hh_vxlan, get_all_user_by_tag(), &tag, sizeof(VXLAN_TAG), pContext); @@ -696,15 +696,15 @@ static err_t netif_input_data(struct pbuf *p, struct netif *inp) { pbuf_free(p); return err; } else { - dzlog_error("Not found: %u, %u, %u\n", tag.vni, tag.q1, tag.q2); + LOG_MSG(error, ZLOG_MOD_LWIP, ("Not found: %u, %u, %u\n", tag.vni, tag.q1, tag.q2); } #else - VXLAN_TAG tag; - struct pbuf *ebuf = NULL; + VXLAN_TAG tag; + struct pbuf *ebuf = NULL; PUSER_INFO_CONTEXT pContext; tag.vni = VXLAN_VIN_ID(lwip_htonl(pkg->vxlan_head.vni_reserved)); - tag.q1 = lwip_ntohs(pkg->qinq_head.out_priority_cfi_and_id); - tag.q2 = lwip_ntohs(pkg->qinq_head.in_priority_cfi_and_id); + tag.q1 = lwip_ntohs(pkg->qinq_head.out_priority_cfi_and_id); + tag.q2 = lwip_ntohs(pkg->qinq_head.in_priority_cfi_and_id); HASH_FIND(hh_vxlan, get_all_user_by_tag(), &tag, sizeof(VXLAN_TAG), pContext); @@ -726,7 +726,7 @@ static err_t netif_input_data(struct pbuf *p, struct netif *inp) { } if ((err = pContext->session.nicif->input(ebuf, pContext->session.nicif)) != ERR_OK) { - dzlog_debug("\n"); + LOG_MSG(debug, ZLOG_MOD_LWIP, ("\n"); LWIP_DEBUGF(NETIF_DEBUG, ("pppoeif_input: netif input error\n")); } @@ -759,7 +759,7 @@ struct netif *bind_rawsocket_if(const char *eth_name) { struct rawif *rawif = (struct rawif *)mem_malloc(sizeof(struct rawif)); if (rawif == NULL) { - dzlog_error("bind_rawsocket_if: out of memory for rawif\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, ("bind_rawsocket_if: out of memory for rawif\n"); return NULL; } @@ -770,7 +770,7 @@ struct netif *bind_rawsocket_if(const char *eth_name) { } if (vxlan_link_init(eth_name) != ERR_OK) { - dzlog_error("bind_rawsocket_if: Get local nic info failed\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, ("bind_rawsocket_if: Get local nic info failed\n"); return NULL; } @@ -808,7 +808,7 @@ struct netif *bind_rawsocket_if(const char *eth_name) { if (!netif) { mem_free(rawif); - dzlog_error("Create netif error\n"); + LOG_MSG(error, ZLOG_MOD_LWIP, ("Create netif error\n"); return NULL; } diff --git a/srcs/opendhcp183/opendhcpd.cpp b/srcs/opendhcp183/opendhcpd.cpp index 0177f3a..b534a83 100644 --- a/srcs/opendhcp183/opendhcpd.cpp +++ b/srcs/opendhcp183/opendhcpd.cpp @@ -35,7 +35,6 @@ #include #include using namespace std; -#include #include "dhcpd.h" #include "opendhcpd.h" #include "user_errno.h" diff --git a/srcs/opendhcp183/opendhcpd.h b/srcs/opendhcp183/opendhcpd.h index 02421cd..6bb995d 100644 --- a/srcs/opendhcp183/opendhcpd.h +++ b/srcs/opendhcp183/opendhcpd.h @@ -44,6 +44,8 @@ #include #endif +#include "zlog_module.h" + /* //#ifndef _LINUX_IN_H //#ifndef _NETINET_IN_H @@ -80,19 +82,19 @@ typedef struct in_pktinfo IN_PKTINFO; #define STR2INT(val) ((int)strtol((val), nullptr, 10)) -#define logDHCPMess(logBuff, logLevel) \ - do { \ - switch ((logLevel)) { \ - case 2: \ - dzlog_debug("%s\n", logBuff); \ - break; \ - case 0: \ - dzlog_error("%s\n", logBuff); \ - break; \ - default: \ - dzlog_info("%s\n", logBuff); \ - break; \ - } \ +#define logDHCPMess(logBuff, logLevel) \ + do { \ + switch ((logLevel)) { \ + case 2: \ + LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "%s\n", logBuff); \ + break; \ + case 0: \ + LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "%s\n", logBuff); \ + break; \ + default: \ + LOG_MSG(info, ZLOG_MOD_OPENDHCPD, "%s\n", logBuff); \ + break; \ + } \ } while (0) enum { diff --git a/srcs/opendhcp183/query.cpp b/srcs/opendhcp183/query.cpp index 88dc261..869a0d0 100644 --- a/srcs/opendhcp183/query.cpp +++ b/srcs/opendhcp183/query.cpp @@ -18,8 +18,6 @@ using namespace std; #include "haywire.h" #include "misc.h" #include -#include -#include #include #include "config.h" #include "proto.h" @@ -51,7 +49,7 @@ static int dhcp_get_user_info(data19 *req, const char *pRequest) { int k; dhcpMap::iterator p; - dzlog_debug("Input: %s\n", pRequest); + LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Input: %s\n", pRequest); if (pRequest == nullptr || strlen(pRequest) == 0) { sprintf(logBuff, "Requeset Json"); @@ -373,7 +371,7 @@ static int add_dhcpd_rangeset(data19 *req, const char *pRequest) { cJSON *pRspRoot; cJSON *pExpandArray; - dzlog_debug("Input: %s\n", pRequest); + LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Input: %s\n", pRequest); if (pRequest == nullptr || strlen(pRequest) == 0) { sprintf(logBuff, "Requeset Json"); @@ -491,7 +489,7 @@ static int delete_dhcpd_rangeset(data19 *req, const char *pRequest) { hash_map *delMap = nullptr; int resCount = 0; - dzlog_debug("Input: %s\n", pRequest); + LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Input: %s\n", pRequest); if (pRequest == nullptr || strlen(pRequest) == 0) { sprintf(logBuff, "Requeset Json"); @@ -767,7 +765,7 @@ int getHwAddr(char *buff, char *mac) { int arpSet(const char *ifname, char *ipStr, char *mac) { if (ifname == nullptr || ipStr == nullptr || mac == nullptr) { - dzlog_error("para is null.\n"); + LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "para is null.\n"); return -1; } @@ -785,19 +783,19 @@ int arpSet(const char *ifname, char *ipStr, char *mac) { req.arp_flags = ATF_PERM | ATF_COM; if (getHwAddr((char *)req.arp_ha.sa_data, mac) < 0) { - dzlog_error("get mac error.\n"); + LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "get mac error.\n"); return -1; } sock_fd = socket(AF_INET, SOCK_DGRAM, 0); if (sock_fd < 0) { - dzlog_error("get socket error.\n"); + LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "get socket error.\n"); return -1; } ret = ioctl(sock_fd, SIOCSARP, &req); if (ret < 0) { - dzlog_error("ioctl error.\n"); + LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "ioctl error.\n"); close(sock_fd); return -1; } @@ -1209,11 +1207,11 @@ static void on_http_response_cb(void *pData, int iFinished, void *pUserData) { if (iFinished == 0) { - dzlog_debug("Request(%s): [%s] Response: [%u] OK:\n", pTaskUuid, pReqUrl, size); + LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Request(%s): [%s] Response: [%u] OK:\n", pTaskUuid, pReqUrl, size); } else if (iFinished == 1) { - dzlog_error("Request(%s): [%s] Response: [%u] Error\n", pTaskUuid, pReqUrl, size); + LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "Request(%s): [%s] Response: [%u] Error\n", pTaskUuid, pReqUrl, size); } else { - dzlog_error("Download Error Code: %d\n", iFinished); + LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "Download Error Code: %d\n", iFinished); } free(pUserData); @@ -1239,7 +1237,11 @@ void iptvCacheCb(void *UNUSED(pArg)) { isReport = true; // 添加到缓存列表供后续查询 HASH_ADD_STR(g_iptvCacheDevs, iptvMAC, pCacheDev); - dzlog_debug("Add IPTV device %s vni %d to cache\n", pCacheDev->iptvMAC, pCacheDev->vni); + LOG_MSG(debug, + ZLOG_MOD_OPENDHCPD, + "Add IPTV device %s vni %d to cache\n", + pCacheDev->iptvMAC, + pCacheDev->vni); } HASH_DEL(g_iptvNewDevs, pDev); @@ -1292,7 +1294,7 @@ void opendhcp_init_http_server() { added = TRUE; #ifdef USER_VNI - dzlog_info("User VxLan Id: [%d]\n", cfg_get_user_vni_id()); + LOG_MSG(info, ZLOG_MOD_OPENDHCPD, "User VxLan Id: [%d]\n", cfg_get_user_vni_id()); #endif } } @@ -1320,7 +1322,7 @@ void opendhcp_add_ip_pool_set() { if (pRange) { if (dhcp_add_rangeset_to_options(pRange) != ERR_SUCCESS) { - dzlog_error("Add rangeset(\"%s\") failed!\n", pRange->rangAddr); + LOG_MSG(error, ZLOG_MOD_OPENDHCPD, "Add rangeset(\"%s\") failed!\n", pRange->rangAddr); } } } @@ -1352,7 +1354,7 @@ int process_iptv_multicast(const unsigned char *p, int size, const char *mac) { } } - dzlog_debug("Found IPTV %s\n", mac); + LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Found IPTV %s\n", mac); return 0; } @@ -1397,12 +1399,12 @@ void opendhcp_add_mac_filter() { if (sdslen(add) > 0) { sdsrange(add, 0, -3); - dzlog_debug("Add MAC [%s] for black list\n", add); + LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Add MAC [%s] for black list\n", add); } if (sdslen(err) > 0) { sdsrange(err, 0, -2); - dzlog_debug("Add MAC [%s] for black list error\n", err); + LOG_MSG(debug, ZLOG_MOD_OPENDHCPD, "Add MAC [%s] for black list error\n", err); } sdsfree(add); diff --git a/srcs/pppoe/vcpe_pppoe.c b/srcs/pppoe/vcpe_pppoe.c index 80add88..85ddaad 100644 --- a/srcs/pppoe/vcpe_pppoe.c +++ b/srcs/pppoe/vcpe_pppoe.c @@ -1,7 +1,6 @@ // // Created by xajhuang on 2022/5/10. // -#include #include #include #include @@ -17,6 +16,7 @@ #include "vxlan_pkg.h" #include "netif/pcapif.h" #include "s2j/cJSON.h" +#include "zlog_module.h" typedef struct PPPOE_CACHE { PPPPOE_SESSION_DATA pSessionData; @@ -59,7 +59,7 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) { switch (errCode) { case PPPERR_NONE: { /* No error. */ pCache = (PPPPOE_CACHE)malloc(sizeof(PPPOE_CACHE)); - dzlog_info("<%p> PPPoE user(%05d:%s) connect server succeeded[%08X], Session: %04X\n", + LOG_MSG(info, ZLOG_MOD_PPPOE, ("<%p> PPPoE user(%05d:%s) connect server succeeded[%08X], Session: %04X\n", pcb, pUser->userid, pUser->user_info.pppoe_user, @@ -78,16 +78,16 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) { pUser->user_info.mac_addr[3], pUser->user_info.mac_addr[4], pUser->user_info.mac_addr[5]); - dzlog_info(" our_ipaddr = %s\n", pUser->session.data.clientIp); - dzlog_info(" his_ipaddr = %s\n", pUser->session.data.clientGw); - dzlog_info(" netmask = %s\n", pUser->session.data.clientMask); + LOG_MSG(info, ZLOG_MOD_PPPOE, (" our_ipaddr = %s\n", pUser->session.data.clientIp); + LOG_MSG(info, ZLOG_MOD_PPPOE, (" his_ipaddr = %s\n", pUser->session.data.clientGw); + LOG_MSG(info, ZLOG_MOD_PPPOE, (" netmask = %s\n", pUser->session.data.clientMask); #endif /* LWIP_IPV4 */ #if LWIP_DNS - dzlog_info(" dns1 = %s\n", ipaddr_ntoa(dns_getserver(0))); - dzlog_info(" dns2 = %s\n", ipaddr_ntoa(dns_getserver(1))); + LOG_MSG(info, ZLOG_MOD_PPPOE, (" dns1 = %s\n", ipaddr_ntoa(dns_getserver(0))); + LOG_MSG(info, ZLOG_MOD_PPPOE, (" dns2 = %s\n", ipaddr_ntoa(dns_getserver(1))); #endif /* LWIP_DNS */ #if PPP_IPV6_SUPPORT - dzlog_info(" our6_ipaddr = %s\n", ip6addr_ntoa(netif_ip6_addr(pppif, 0))); + LOG_MSG(info, ZLOG_MOD_PPPOE, (" our6_ipaddr = %s\n", ip6addr_ntoa(netif_ip6_addr(pppif, 0))); #endif /* PPP_IPV6_SUPPORT */ if (pCache) { @@ -103,7 +103,7 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) { case PPPERR_PARAM: case PPPERR_AUTHFAIL: case PPPERR_PROTOCOL: - dzlog_error("<%p> pppLinkStatusCallback: %s(%d)", + LOG_MSG(error, ZLOG_MOD_PPPOE, ("<%p> pppLinkStatusCallback: %s(%d)", pcb, g_pppoeErr[errCode].errmsg, g_pppoeErr[errCode].errid); @@ -127,7 +127,7 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) { } break; case PPPERR_USER: - dzlog_info("User(%05d:%s) disconnect\n", pUser->userid, pUser->user_info.pppoe_user); + LOG_MSG(info, ZLOG_MOD_PPPOE, ("User(%05d:%s) disconnect\n", pUser->userid, pUser->user_info.pppoe_user); pCache = (PPPPOE_CACHE)malloc(sizeof(PPPOE_CACHE)); if (pCache) { @@ -148,7 +148,7 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) { case PPPERR_IDLETIMEOUT: case PPPERR_CONNECTTIME: case PPPERR_LOOPBACK: - dzlog_error("<%p> pppLinkStatusCallback: %s(%d)\n", + LOG_MSG(error, ZLOG_MOD_PPPOE, ("<%p> pppLinkStatusCallback: %s(%d)\n", pcb, g_pppoeErr[errCode].errmsg, g_pppoeErr[errCode].errid); @@ -171,8 +171,8 @@ static void pppLinkStatusCallback(ppp_pcb *pcb, int errCode, void *ctx) { } break; default: { - printf("<%p> pppLinkStatusCallback: unknown errCode %d\n", pcb, errCode); - break; + printf("<%p> pppLinkStatusCallback: unknown errCode %d\n", pcb, errCode); + break; } } } @@ -189,13 +189,13 @@ _Noreturn void sessionCalcCb(void *UNUSED(pArg)) { switch (pSession->status) { case STATUS_TASK_INIT: if (pppoe_session_create(pUser) == ERR_SUCCESS) { - dzlog_debug("User(%05d:%s) init pppoe session\n", pUser->userid, pUser->user_info.pppoe_user); + LOG_MSG(debug, ZLOG_MOD_PPPOE, ("User(%05d:%s) init pppoe session\n", pUser->userid, pUser->user_info.pppoe_user); pSession->status = STATUS_TASK_DIAL; } break; case STATUS_TASK_DIAL: if (pUser->session.retry.timeout == 0) { - dzlog_debug("User(%05d:%s) connect PPPoE server\n", pUser->userid, pUser->user_info.pppoe_user); + LOG_MSG(debug, ZLOG_MOD_PPPOE, ("User(%05d:%s) connect PPPoE server\n", pUser->userid, pUser->user_info.pppoe_user); pppapi_connect(pSession->ppp, 0); pUser->session.retry.timeout = time(NULL) + PPPOE_MAX_TIMEOUT; } else if (time(NULL) > pUser->session.retry.timeout) { @@ -204,14 +204,14 @@ _Noreturn void sessionCalcCb(void *UNUSED(pArg)) { break; case STATUS_TASK_ERROR: if (pUser->session.retry.timeout == 0) { - dzlog_error("User(%05d:%s) PPPoE dial error Invalid parameter\n", + LOG_MSG(error, ZLOG_MOD_PPPOE, ("User(%05d:%s) PPPoE dial error Invalid parameter\n", pUser->userid, pUser->user_info.pppoe_user); // 10秒后尝试重新拨号 pUser->session.retry.timeout = time(NULL) + (PPPOE_MAX_TIMEOUT / 2); pUser->session.retry.count = 0; } else if (time(NULL) > pUser->session.retry.timeout) { - dzlog_warn("User(%05d:%s) retry dial %u times\n", + LOG_MSG(warn, ZLOG_MOD_PPPOE, ("User(%05d:%s) retry dial %u times\n", pUser->userid, pUser->user_info.pppoe_user, pUser->session.retry.count); @@ -224,14 +224,14 @@ _Noreturn void sessionCalcCb(void *UNUSED(pArg)) { break; case STATUS_TASK_DISCONNECTED: - dzlog_error("User %s disconnect, auto reconnect\n", pUser->user_info.pppoe_user); + LOG_MSG(error, ZLOG_MOD_PPPOE, ("User %s disconnect, auto reconnect\n", pUser->user_info.pppoe_user); // 自动重新拨号 pSession->status = STATUS_TASK_DIAL; break; case STATUS_TASK_DELETE: if (pUser->session.retry.timeout == 0) { - dzlog_debug("User(%05d:%s) PPPoE deleted\n", pUser->userid, pUser->user_info.pppoe_user); + LOG_MSG(debug, ZLOG_MOD_PPPOE, ("User(%05d:%s) PPPoE deleted\n", pUser->userid, pUser->user_info.pppoe_user); pppapi_close(pUser->session.ppp, 0); pUser->session.retry.timeout = time(NULL); pppapi_free(pUser->session.ppp); @@ -244,7 +244,7 @@ _Noreturn void sessionCalcCb(void *UNUSED(pArg)) { if (pUser->session.retry.timeout == 0) { pUser->session.retry.timeout = time(NULL) + 30; } else if (time(NULL) > pUser->session.retry.timeout) { - dzlog_debug("User(%05d:%s) PPPoE disconnected\n", pUser->userid, pUser->user_info.pppoe_user); + LOG_MSG(debug, ZLOG_MOD_PPPOE, ("User(%05d:%s) PPPoE disconnected\n", pUser->userid, pUser->user_info.pppoe_user); pSession->status = STATUS_TASK_DELETE; pppapi_close(pUser->session.ppp, 0); pUser->session.retry.timeout = 0; @@ -336,9 +336,9 @@ int pppoe_session_init() { g_rawSocketIf = bind_pcap_if(config_get_vxlan_nic_name(), config_get_vxlan_pkg_filter(), cfg_get_support_vxlan()); if (g_rawSocketIf) { - dzlog_info("Create hardware netif: <%p>\n", (void *)g_rawSocketIf); + LOG_MSG(info, ZLOG_MOD_PPPOE, ("Create hardware netif: <%p>\n", (void *)g_rawSocketIf); } else { - dzlog_info("Create hardware error: <%p>\n", (void *)g_rawSocketIf); + LOG_MSG(info, ZLOG_MOD_PPPOE, ("Create hardware error: <%p>\n", (void *)g_rawSocketIf); } // 启动Session状态机线程 @@ -353,14 +353,14 @@ int pppoe_session_create(PUSER_INFO_CONTEXT pUser) { struct netif *ppp_netif = (struct netif *)malloc(sizeof(struct netif)); if (ppp_netif == NULL) { - dzlog_error("Malloc %lu bytes memory error\n", sizeof(struct netif)); + LOG_MSG(error, ZLOG_MOD_PPPOE, ("Malloc %lu bytes memory error\n", sizeof(struct netif)); return -ERR_MALLOC_MEMORY; } netif = create_pppoe_if(pUser); if (netif == NULL) { - dzlog_error("Create PPPoE netif error: %u\n", pUser->userid); + LOG_MSG(error, ZLOG_MOD_PPPOE, ("Create PPPoE netif error: %u\n", pUser->userid); free((void *)ppp_netif); return -ERR_CREATE_PPPOE_NETIF; } @@ -371,7 +371,7 @@ int pppoe_session_create(PUSER_INFO_CONTEXT pUser) { ppp = pppapi_pppoe_create(pUser->session.pppif, pUser->session.nicif, NULL, NULL, pppLinkStatusCallback, pUser); if (ppp == NULL) { - dzlog_error("Create PPPoE session error: %u\n", pUser->userid); + LOG_MSG(error, ZLOG_MOD_PPPOE, ("Create PPPoE session error: %u\n", pUser->userid); netif_remove(netif); free((void *)ppp_netif); return -ERR_CREATE_PPP_SESSION; @@ -381,7 +381,7 @@ int pppoe_session_create(PUSER_INFO_CONTEXT pUser) { ppp_set_auth(ppp, PPPAUTHTYPE_ANY, pUser->user_info.pppoe_user, pUser->user_info.pppoe_passwd); - dzlog_debug("Create PPPoE netif %p: %u(%c%c:%u, %c%c:%u)\n", + LOG_MSG(debug, ZLOG_MOD_PPPOE, ("Create PPPoE netif %p: %u(%c%c:%u, %c%c:%u)\n", ppp, pUser->userid, ppp_netif->name[0], diff --git a/srcs/user/user_info.c b/srcs/user/user_info.c index f79b833..96ad4c1 100644 --- a/srcs/user/user_info.c +++ b/srcs/user/user_info.c @@ -2,10 +2,12 @@ // Created by xajhuang on 2022/5/11. // #include -#include +#include "zlog_module.h" #include "user_info.h" #include "user_errno.h" +#ifdef USED_LWIP + static PUSER_INFO_CONTEXT g_pUserByIdList = NULL; static PUSER_INFO_CONTEXT g_pUserByTagsList = NULL; static PUSER_INFO_CONTEXT g_pUserByMacList = NULL; @@ -69,19 +71,20 @@ int user_info_add(unsigned int userid, PUSER_PARAMS pInfo) { HASH_ADD(hh_mac, g_pUserByMacList, mac_addr, 6, pList); uv_rwlock_wrunlock(&g_userLock); - dzlog_debug( - "Add user: id = %u, vni = %u, q1 = %u, q2 = %u, ppp_user = %s, mac = %02X:%02X:%02X:%02X:%02X:%02X\n", - userid, - pInfo->vni, - pInfo->q1, - pInfo->q2, - pInfo->pppoe_user, - pList->mac_addr[0], - pList->mac_addr[1], - pList->mac_addr[2], - pList->mac_addr[3], - pList->mac_addr[4], - pList->mac_addr[5]); + LOG_MSG(debug, + ZLOG_MOD_USER, + "Add user: id = %u, vni = %u, q1 = %u, q2 = %u, ppp_user = %s, mac = %02X:%02X:%02X:%02X:%02X:%02X\n", + userid, + pInfo->vni, + pInfo->q1, + pInfo->q2, + pInfo->pppoe_user, + pList->mac_addr[0], + pList->mac_addr[1], + pList->mac_addr[2], + pList->mac_addr[3], + pList->mac_addr[4], + pList->mac_addr[5]); } return ERR_SUCCESS; @@ -203,4 +206,5 @@ PUSER_INFO_CONTEXT get_all_user_by_tag() { uv_rwlock_t *get_user_lock() { return &g_userLock; -} \ No newline at end of file +} +#endif \ No newline at end of file diff --git a/srcs/vcpe_agent.c b/srcs/vcpe_agent.c index bf30abd..d2bbdf0 100644 --- a/srcs/vcpe_agent.c +++ b/srcs/vcpe_agent.c @@ -2,7 +2,6 @@ // Created by xajhuang on 2022/6/10. // #include -#include #include #include #include diff --git a/srcs/vcpe_main.c b/srcs/vcpe_main.c index 29d5ea8..d7b6cff 100644 --- a/srcs/vcpe_main.c +++ b/srcs/vcpe_main.c @@ -2,7 +2,6 @@ // Created by xajhu on 2021/6/29 0029. // #include -#include #include #include #include "cmdline.h" @@ -10,6 +9,7 @@ #include "init.h" #include "inet_misc.h" #include "config.h" +#include "zlog_module.h" #include "prj_config.h" #include "user_errno.h" @@ -65,11 +65,11 @@ static void on_http_response_cb(void *pData, int iFinished, void *pUserData) { if (iFinished == 0) { - dzlog_debug("Request(%s): [%s] Response: [%u] OK:\n", pTaskUuid, pReqUrl, size); + LOG_MSG(debug, ZLOG_MOD_MAIN, "Request(%s): [%s] Response: [%u] OK:\n", pTaskUuid, pReqUrl, size); } else if (iFinished == 1) { - dzlog_error("Request(%s): [%s] Response: [%u] Error\n", pTaskUuid, pReqUrl, size); + LOG_MSG(error, ZLOG_MOD_MAIN, "Request(%s): [%s] Response: [%u] Error\n", pTaskUuid, pReqUrl, size); } else { - dzlog_error("Download Error Code: %d\n", iFinished); + LOG_MSG(error, ZLOG_MOD_MAIN, "Download Error Code: %d\n", iFinished); } free(pUserData);