tfe 支持 zlog
This commit is contained in:
@@ -1,27 +1,13 @@
|
||||
[doh]
|
||||
# default 1
|
||||
enable=1
|
||||
|
||||
[log]
|
||||
# default 10
|
||||
# RLOG_LV_DEBUG : 10
|
||||
# RLOG_LV_INFO : 20
|
||||
# RLOG_LV_FATAL : 30
|
||||
log_level=10
|
||||
|
||||
[maat]
|
||||
# default TSG_OBJ_APP_ID
|
||||
table_appid=TSG_OBJ_APP_ID
|
||||
# default TSG_SECURITY_ADDR
|
||||
table_addr=TSG_SECURITY_ADDR
|
||||
# default TSG_FIELD_DOH_QNAME
|
||||
table_qname=TSG_FIELD_DOH_QNAME
|
||||
# default TSG_FIELD_HTTP_HOST
|
||||
table_host=TSG_FIELD_DOH_HOST
|
||||
|
||||
[kafka]
|
||||
# default 0
|
||||
ENTRANCE_ID=0
|
||||
# default 1
|
||||
# if enable "en_sendlog", the iterm "tfe.conf [kafka] enable" must set 1
|
||||
en_sendlog=1
|
||||
@@ -1,5 +1,4 @@
|
||||
[debug]
|
||||
log_level=10
|
||||
enable_plugin=1
|
||||
|
||||
[log]
|
||||
|
||||
@@ -125,10 +125,6 @@ tcp_user_timeout=600
|
||||
tcp_ttl_upstream=75
|
||||
tcp_ttl_downstream=70
|
||||
|
||||
[log]
|
||||
level=10
|
||||
location=log/tfe.log
|
||||
|
||||
[stat]
|
||||
statsd_server=192.168.10.72
|
||||
statsd_port=8126
|
||||
@@ -137,9 +133,6 @@ statsd_cycle=5
|
||||
statsd_format=2
|
||||
histogram_bins=0.5,0.8,0.9,0.95
|
||||
|
||||
[http]
|
||||
loglevel=20
|
||||
|
||||
[traffic_mirror]
|
||||
enable=1
|
||||
device=eth4
|
||||
|
||||
20
conf/tfe/zlog.conf
Normal file
20
conf/tfe/zlog.conf
Normal file
@@ -0,0 +1,20 @@
|
||||
# kill -s SIGHUP "pid"
|
||||
|
||||
[global]
|
||||
|
||||
default format = "%d(%c), %V, %F, %U, %m%n"
|
||||
|
||||
[levels]
|
||||
|
||||
DEBUG=10
|
||||
INFO=20
|
||||
FATAL=30
|
||||
|
||||
[rules]
|
||||
|
||||
*.fatal "./log/error.log.%d(%F)";
|
||||
tfe.DEBUG "./log/tfe.log.%d(%F)";
|
||||
http.DEBUG "./log/http.log.%d(%F)";
|
||||
http2.DEBUG "./log/http2.log.%d(%F)";
|
||||
doh.DEBUG "./log/doh_pxy.log.%d(%F)";
|
||||
pangu.DEBUG "./log/pangu_pxy.log.%d(%F)";
|
||||
@@ -239,7 +239,10 @@ static void __signal_handler_cb(evutil_socket_t fd, short what, void * arg)
|
||||
{
|
||||
case SIGTERM:
|
||||
case SIGQUIT:
|
||||
case SIGHUP: break;
|
||||
case SIGHUP:
|
||||
TFE_LOG_ERROR(ctx->logger, "recv SIGHUP, reload zlog.conf");
|
||||
MESA_handle_runtime_log_reconstruction(NULL);
|
||||
break;
|
||||
case SIGUSR1: break;
|
||||
case SIGPIPE:
|
||||
TFE_PROXY_STAT_INCREASE(STAT_SIGPIPE, 1);
|
||||
@@ -724,6 +727,7 @@ int main(int argc, char * argv[])
|
||||
{
|
||||
const char * main_profile = "./conf/tfe/tfe.conf";
|
||||
const char * future_profile= "./conf/tfe/future.conf";
|
||||
const char * zlog_profile = "./conf/tfe/zlog.conf";
|
||||
|
||||
int ret = 0;
|
||||
int opt = 0;
|
||||
@@ -749,15 +753,16 @@ int main(int argc, char * argv[])
|
||||
|
||||
fprintf(stderr, "Tango Frontend Engine, Version: %s", __tfe_version);
|
||||
|
||||
if (0 != MESA_handle_runtime_log_creation(zlog_profile))
|
||||
{
|
||||
fprintf(stderr, "MESA_handle_runtime_log_creation return error\n");
|
||||
exit(EXIT_FAILURE);
|
||||
}
|
||||
|
||||
/* adds locking, only required if accessed from separate threads */
|
||||
evthread_use_pthreads();
|
||||
unsigned int __log_level = RLOG_LV_INFO;
|
||||
MESA_load_profile_uint_def(main_profile, "log", "level", &__log_level, RLOG_LV_INFO);
|
||||
|
||||
char __log_path[TFE_STRING_MAX]= {};
|
||||
MESA_load_profile_string_def(main_profile, "log", "location", __log_path, sizeof(__log_path), "log/tfe.log");
|
||||
|
||||
g_default_logger = MESA_create_runtime_log_handle(__log_path, __log_level);
|
||||
g_default_logger = MESA_create_runtime_log_handle("tfe", RLOG_LV_DEBUG);
|
||||
if (unlikely(g_default_logger == NULL))
|
||||
{
|
||||
TFE_LOG_ERROR(g_default_logger, "Failed at creating default logger: %s", "log/tfe.log");
|
||||
|
||||
@@ -578,7 +578,6 @@ int doh_on_init(struct tfe_proxy *proxy)
|
||||
assert(g_doh_conf);
|
||||
|
||||
MESA_load_profile_int_def(profile, "doh", "enable", &(g_doh_conf->enable), 1);
|
||||
MESA_load_profile_int_def(profile, "log", "log_level", &(g_doh_conf->local_level), 10);
|
||||
|
||||
if (!g_doh_conf->enable)
|
||||
{
|
||||
@@ -588,7 +587,7 @@ int doh_on_init(struct tfe_proxy *proxy)
|
||||
TFE_LOG_INFO(NULL, "Doh enabled.");
|
||||
|
||||
g_doh_conf->thread_num = tfe_proxy_get_work_thread_count();
|
||||
g_doh_conf->local_logger = MESA_create_runtime_log_handle("./log/doh_pxy.log", g_doh_conf->local_level);
|
||||
g_doh_conf->local_logger = MESA_create_runtime_log_handle("doh", RLOG_LV_DEBUG);
|
||||
|
||||
g_doh_conf->gc_evbase = tfe_proxy_get_gc_evbase();
|
||||
g_doh_conf->fs_handle = tfe_proxy_get_fs_handle();
|
||||
|
||||
@@ -54,7 +54,6 @@ struct doh_conf
|
||||
int enable;
|
||||
int thread_num;
|
||||
|
||||
int local_level;
|
||||
void *local_logger;
|
||||
|
||||
int entry_id;
|
||||
|
||||
@@ -128,7 +128,6 @@ struct pangu_rt
|
||||
Maat_feather_t maat;
|
||||
struct pangu_logger * send_logger;
|
||||
void * local_logger;
|
||||
int log_level;
|
||||
int thread_num;
|
||||
int scan_table_id[__SCAN_TABLE_MAX];
|
||||
int plolicy_table_id[POLICY_PROFILE_TABLE_MAX];
|
||||
@@ -843,8 +842,7 @@ error_out:
|
||||
|
||||
int pangu_http_init(struct tfe_proxy * proxy)
|
||||
{
|
||||
const char * profile_path = "./conf/pangu/pangu_pxy.conf";
|
||||
const char * logfile = "./log/pangu_pxy.log";
|
||||
const char * profile_path = "./conf/pangu/pangu_pxy.conf";;
|
||||
int temp=0;
|
||||
|
||||
g_pangu_rt = ALLOC(struct pangu_rt, 1);
|
||||
@@ -857,8 +855,7 @@ int pangu_http_init(struct tfe_proxy * proxy)
|
||||
g_pangu_rt->thread_num = tfe_proxy_get_work_thread_count();
|
||||
g_pangu_rt->gc_evbase=tfe_proxy_get_gc_evbase();
|
||||
|
||||
MESA_load_profile_int_def(profile_path, "DEBUG", "LOG_LEVEL", &(g_pangu_rt->log_level), 0);
|
||||
g_pangu_rt->local_logger = MESA_create_runtime_log_handle(logfile, g_pangu_rt->log_level);
|
||||
g_pangu_rt->local_logger = MESA_create_runtime_log_handle("pangu", RLOG_LV_DEBUG);
|
||||
|
||||
g_pangu_rt->send_logger = pangu_log_handle_create(profile_path, "LOG", g_pangu_rt->local_logger);
|
||||
if (!g_pangu_rt->send_logger)
|
||||
|
||||
@@ -22,10 +22,6 @@ struct http_plugin
|
||||
struct event * gc_event_hs_private[TFE_THREAD_MAX];
|
||||
/* ACCESS LOGGER */
|
||||
void * logger;
|
||||
/* LOGLEVE */
|
||||
int log_level;
|
||||
/* LOGFILE */
|
||||
char log_file[TFE_STRING_MAX];
|
||||
};
|
||||
|
||||
extern struct http_plugin * g_http_plugin;
|
||||
|
||||
@@ -55,21 +55,11 @@ 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)
|
||||
{
|
||||
unsigned int nr_work_thread = tfe_proxy_get_work_thread_count();
|
||||
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++)
|
||||
{
|
||||
#ifndef NDEBUG
|
||||
@@ -99,7 +89,7 @@ int http_plugin_init(struct tfe_proxy * proxy)
|
||||
plugin_ctx->gc_event_hs_private[thread_id] = gc_event;
|
||||
}
|
||||
|
||||
plugin_ctx->logger = MESA_create_runtime_log_handle(plugin_ctx->log_file, plugin_ctx->log_level);
|
||||
plugin_ctx->logger = MESA_create_runtime_log_handle("http", RLOG_LV_DEBUG);
|
||||
assert(plugin_ctx->logger != NULL);
|
||||
|
||||
return 0;
|
||||
|
||||
@@ -15,10 +15,6 @@
|
||||
#include <http2_stream.h>
|
||||
|
||||
typedef struct RTLogInit2Data_ {
|
||||
int run_log_level;
|
||||
|
||||
char run_log_path[256];
|
||||
|
||||
void *handle;
|
||||
} RTLogInit2Data;
|
||||
|
||||
|
||||
@@ -18,7 +18,7 @@
|
||||
#include <http2_common.h>
|
||||
|
||||
RTLogInit2Data logging_sc_lid = {
|
||||
.run_log_level = 1,
|
||||
|
||||
};
|
||||
|
||||
RTLogInit2Data *logger()
|
||||
|
||||
@@ -46,13 +46,7 @@ struct event_timer_ctx
|
||||
void load_logging_conf(const char *config)
|
||||
{
|
||||
RTLogInit2Data *logging_sc_lid = logger();
|
||||
|
||||
MESA_load_profile_int_def(config, (const char *)"http",(const char *)"loglevel",
|
||||
&logging_sc_lid->run_log_level, 10);
|
||||
MESA_load_profile_string_def(config, (const char *)"http",(const char *)"logfile",
|
||||
logging_sc_lid->run_log_path, 128, "log/http2.log");
|
||||
|
||||
logging_sc_lid->handle = MESA_create_runtime_log_handle(logging_sc_lid->run_log_path, logging_sc_lid->run_log_level);
|
||||
logging_sc_lid->handle = MESA_create_runtime_log_handle("http2", RLOG_LV_DEBUG);
|
||||
if(logging_sc_lid->handle == NULL){
|
||||
TFE_LOG_ERROR(logging_sc_lid->handle, "Create log runtime_log_handle error, init failed!");
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user