From 46171f2c646541e577594f2c47f22dcd4563af71 Mon Sep 17 00:00:00 2001 From: YuQing <384681@qq.com> Date: Sun, 1 Dec 2019 20:39:31 +0800 Subject: [PATCH] add parameter compress_error_log_days_before --- HISTORY | 2 +- conf/storage.conf | 8 ++++++++ conf/tracker.conf | 4 ++++ storage/storage_func.c | 11 +++++++++++ storage/storage_global.c | 2 ++ storage/storage_global.h | 2 ++ tracker/tracker_func.c | 5 +++++ tracker/tracker_global.c | 1 + tracker/tracker_global.h | 1 + 9 files changed, 35 insertions(+), 1 deletion(-) diff --git a/HISTORY b/HISTORY index abac97e..a9c28ef 100644 --- a/HISTORY +++ b/HISTORY @@ -1,5 +1,5 @@ -Version 6.04 2019-11-30 +Version 6.04 2019-12-01 * storage_report_ip_changed ignore result EEXIST * use get_gzip_command_filename from libfastcommon v1.42 * support compress error log and access log diff --git a/conf/storage.conf b/conf/storage.conf index aa1d142..f2233ed 100644 --- a/conf/storage.conf +++ b/conf/storage.conf @@ -260,6 +260,10 @@ access_log_rotate_time=00:00 # since V6.04 compress_old_access_log = false +# compress the access log days before +# default value is 1 +compress_access_log_days_before = 1 + # if rotate the error log every day # default value is false # since V4.02 @@ -276,6 +280,10 @@ error_log_rotate_time=00:00 # since V6.04 compress_old_error_log = false +# compress the error log days before +# default value is 1 +compress_error_log_days_before = 1 + # rotate access log when the log file exceeds this size # 0 means never rotates log file by log file size # default value is 0 diff --git a/conf/tracker.conf b/conf/tracker.conf index 6545625..78331fe 100644 --- a/conf/tracker.conf +++ b/conf/tracker.conf @@ -247,6 +247,10 @@ error_log_rotate_time = 00:00 # since V6.04 compress_old_error_log = false +# compress the error log days before +# default value is 1 +compress_error_log_days_before = 1 + # rotate error log when the log file exceeds this size # 0 means never rotates log file by log file size # default value is 0 diff --git a/storage/storage_func.c b/storage/storage_func.c index f23d9d7..4d9bab2 100644 --- a/storage/storage_func.c +++ b/storage/storage_func.c @@ -1998,17 +1998,24 @@ int storage_func_init(const char *filename, \ &iniContext, false); g_compress_old_error_log = iniGetBoolValue(NULL, "compress_old_error_log", &iniContext, false); + g_compress_error_log_days_before = iniGetIntValue(NULL, + "compress_error_log_days_before", &iniContext, 1); + g_compress_access_log_days_before = iniGetIntValue(NULL, + "compress_access_log_days_before", &iniContext, 1); if (g_compress_old_error_log) { log_set_compress_log_flags(LOG_COMPRESS_FLAGS_ENABLED | LOG_COMPRESS_FLAGS_NEW_THREAD); + log_set_compress_log_days_before(g_compress_error_log_days_before); } if (g_use_access_log && g_compress_old_access_log) { log_set_compress_log_flags_ex(&g_access_log_context, LOG_COMPRESS_FLAGS_ENABLED | LOG_COMPRESS_FLAGS_NEW_THREAD); + log_set_compress_log_days_before_ex(&g_access_log_context, + g_compress_access_log_days_before); } if ((result=get_time_item_from_conf(&iniContext, \ @@ -2142,9 +2149,11 @@ int storage_func_init(const char *filename, \ "use_access_log=%d, rotate_access_log=%d, " \ "access_log_rotate_time=%02d:%02d, " \ "compress_old_access_log=%d, " \ + "compress_access_log_days_before=%d, " \ "rotate_error_log=%d, " \ "error_log_rotate_time=%02d:%02d, " \ "compress_old_error_log=%d, " \ + "compress_error_log_days_before=%d, " \ "rotate_access_log_size=%"PRId64", " \ "rotate_error_log_size=%"PRId64", " \ "log_file_keep_days=%d, " \ @@ -2183,8 +2192,10 @@ int storage_func_init(const char *filename, \ g_http_port, g_http_domain, g_use_access_log, \ g_rotate_access_log, g_access_log_rotate_time.hour, \ g_access_log_rotate_time.minute, g_compress_old_access_log, \ + g_compress_access_log_days_before, \ g_rotate_error_log, g_error_log_rotate_time.hour, \ g_error_log_rotate_time.minute, g_compress_old_error_log, \ + g_compress_error_log_days_before, \ g_access_log_context.rotate_size, \ g_log_context.rotate_size, g_log_file_keep_days, \ g_file_sync_skip_invalid_record, \ diff --git a/storage/storage_global.c b/storage/storage_global.c index 1ff6db7..f8a1a48 100644 --- a/storage/storage_global.c +++ b/storage/storage_global.c @@ -126,6 +126,8 @@ char g_exe_name[256] = {0}; #endif int g_log_file_keep_days = 0; +int g_compress_access_log_days_before = 0; +int g_compress_error_log_days_before = 0; struct storage_nio_thread_data *g_nio_thread_data = NULL; struct storage_dio_thread_data *g_dio_thread_data = NULL; diff --git a/storage/storage_global.h b/storage/storage_global.h index 93ae5ba..a1849e4 100644 --- a/storage/storage_global.h +++ b/storage/storage_global.h @@ -175,6 +175,8 @@ extern char g_exe_name[256]; #endif extern int g_log_file_keep_days; +extern int g_compress_access_log_days_before; +extern int g_compress_error_log_days_before; extern struct storage_nio_thread_data *g_nio_thread_data; //network io thread data extern struct storage_dio_thread_data *g_dio_thread_data; //disk io thread data diff --git a/tracker/tracker_func.c b/tracker/tracker_func.c index 8ac3e35..6b3e397 100644 --- a/tracker/tracker_func.c +++ b/tracker/tracker_func.c @@ -583,10 +583,13 @@ int tracker_load_from_conf_file(const char *filename, \ &iniContext, false); g_compress_old_error_log = iniGetBoolValue(NULL, "compress_old_error_log", &iniContext, false); + g_compress_error_log_days_before = iniGetIntValue(NULL, + "compress_error_log_days_before", &iniContext, 1); if (g_compress_old_error_log) { log_set_compress_log_flags(LOG_COMPRESS_FLAGS_ENABLED | LOG_COMPRESS_FLAGS_NEW_THREAD); + log_set_compress_log_days_before(g_compress_error_log_days_before); } if ((result=get_time_item_from_conf(&iniContext, \ @@ -753,6 +756,7 @@ int tracker_load_from_conf_file(const char *filename, \ "rotate_error_log=%d, " \ "error_log_rotate_time=%02d:%02d, " \ "compress_old_error_log=%d, " \ + "compress_error_log_days_before=%d, " \ "rotate_error_log_size=%"PRId64", " \ "log_file_keep_days=%d, " \ "store_slave_file_use_link=%d, " \ @@ -790,6 +794,7 @@ int tracker_load_from_conf_file(const char *filename, \ g_storage_ids_by_id.count, g_storage_ids_by_ip.count, \ g_rotate_error_log, g_error_log_rotate_time.hour, \ g_error_log_rotate_time.minute, g_compress_old_error_log, \ + g_compress_error_log_days_before, \ g_log_context.rotate_size, g_log_file_keep_days, g_store_slave_file_use_link, \ g_use_connection_pool, g_connection_pool_max_idle_time); diff --git a/tracker/tracker_global.c b/tracker/tracker_global.c index 13430af..fddc830 100644 --- a/tracker/tracker_global.c +++ b/tracker/tracker_global.c @@ -75,5 +75,6 @@ char g_exe_name[256] = {0}; #endif int g_log_file_keep_days = 0; +int g_compress_error_log_days_before = 0; FDFSConnectionStat g_connection_stat = {0, 0}; diff --git a/tracker/tracker_global.h b/tracker/tracker_global.h index 3159ae2..85502b1 100644 --- a/tracker/tracker_global.h +++ b/tracker/tracker_global.h @@ -99,6 +99,7 @@ extern char g_exe_name[256]; #endif extern int g_log_file_keep_days; +extern int g_compress_error_log_days_before; extern FDFSConnectionStat g_connection_stat; #ifdef __cplusplus