增加HTTP日志等级配置功能
This commit is contained in:
@@ -25,7 +25,7 @@ option(ENABLE_SANITIZE_THREAD "Enable ThreadSanitizer" FALSE)
|
|||||||
|
|
||||||
# Plugins
|
# Plugins
|
||||||
option(ENABLE_PLUGIN_HTTP "Enable HTTP support" TRUE)
|
option(ENABLE_PLUGIN_HTTP "Enable HTTP support" TRUE)
|
||||||
option(ENABLE_PLUGIN_DECRYPT_MIRRORING "Enable decrypt mirroring" FALSE)
|
option(ENABLE_PLUGIN_DECRYPT_MIRRORING "Enable decrypt mirroring" TRUE)
|
||||||
option(ENABLE_PLUGIN_PANGU_HTTP "Enable Pangu-HTTP business" TRUE)
|
option(ENABLE_PLUGIN_PANGU_HTTP "Enable Pangu-HTTP business" TRUE)
|
||||||
|
|
||||||
if(ENABLE_PIC)
|
if(ENABLE_PIC)
|
||||||
|
|||||||
@@ -9,6 +9,7 @@ target_link_libraries(http http-parser-static)
|
|||||||
target_link_libraries(http libevent-static)
|
target_link_libraries(http libevent-static)
|
||||||
target_link_libraries(http z)
|
target_link_libraries(http z)
|
||||||
target_link_libraries(http brotlienc-static brotlidec-static)
|
target_link_libraries(http brotlienc-static brotlidec-static)
|
||||||
|
target_link_libraries(http MESA_prof_load)
|
||||||
|
|
||||||
### UNITTEST CASE
|
### UNITTEST CASE
|
||||||
add_executable(test-http-half test/test_http_half.cpp)
|
add_executable(test-http-half test/test_http_half.cpp)
|
||||||
|
|||||||
@@ -22,6 +22,10 @@ struct http_plugin
|
|||||||
struct event * gc_event_hs_private[TFE_THREAD_MAX];
|
struct event * gc_event_hs_private[TFE_THREAD_MAX];
|
||||||
/* ACCESS LOGGER */
|
/* ACCESS LOGGER */
|
||||||
void * logger;
|
void * logger;
|
||||||
|
/* LOGLEVE */
|
||||||
|
int log_level;
|
||||||
|
/* LOGFILE */
|
||||||
|
char log_file[TFE_STRING_MAX];
|
||||||
};
|
};
|
||||||
|
|
||||||
extern struct http_plugin * g_http_plugin;
|
extern struct http_plugin * g_http_plugin;
|
||||||
|
|||||||
@@ -55,11 +55,21 @@ static void http_plugin_session_gc_cb(evutil_socket_t fd, short what, void * arg
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#include <MESA/MESA_prof_load.h>
|
||||||
|
int http_plugin_config(struct tfe_proxy * proxy, struct http_plugin * ht_handle)
|
||||||
|
{
|
||||||
|
MESA_load_profile_int_def("conf/tfe/tfe.conf", "http", "loglevel", &ht_handle->log_level, RLOG_LV_INFO);
|
||||||
|
MESA_load_profile_string_def("conf/tfe/tfe.conf", "http", "logfile", ht_handle->log_file, sizeof(ht_handle->log_file), "log/http.log");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int http_plugin_init(struct tfe_proxy * proxy)
|
int http_plugin_init(struct tfe_proxy * proxy)
|
||||||
{
|
{
|
||||||
unsigned int nr_work_thread = tfe_proxy_get_work_thread_count();
|
unsigned int nr_work_thread = tfe_proxy_get_work_thread_count();
|
||||||
struct http_plugin * plugin_ctx = g_http_plugin;
|
struct http_plugin * plugin_ctx = g_http_plugin;
|
||||||
|
|
||||||
|
http_plugin_config(proxy, plugin_ctx);
|
||||||
|
|
||||||
for (unsigned int thread_id = 0; thread_id < nr_work_thread; thread_id++)
|
for (unsigned int thread_id = 0; thread_id < nr_work_thread; thread_id++)
|
||||||
{
|
{
|
||||||
#ifndef NDEBUG
|
#ifndef NDEBUG
|
||||||
@@ -89,7 +99,7 @@ int http_plugin_init(struct tfe_proxy * proxy)
|
|||||||
plugin_ctx->gc_event_hs_private[thread_id] = gc_event;
|
plugin_ctx->gc_event_hs_private[thread_id] = gc_event;
|
||||||
}
|
}
|
||||||
|
|
||||||
plugin_ctx->logger = MESA_create_runtime_log_handle("log/http.log", RLOG_LV_INFO);
|
plugin_ctx->logger = MESA_create_runtime_log_handle(plugin_ctx->log_file, plugin_ctx->log_level);
|
||||||
assert(plugin_ctx->logger != NULL);
|
assert(plugin_ctx->logger != NULL);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
|
|||||||
Reference in New Issue
Block a user