diff options
-rw-r--r-- | include/cfg.h | 4 | ||||
-rw-r--r-- | include/log.h | 17 | ||||
-rw-r--r-- | include/zbxnix.h | 3 | ||||
-rw-r--r-- | src/libs/zbxconf/cfg.c | 4 | ||||
-rw-r--r-- | src/libs/zbxlog/log.c | 36 | ||||
-rw-r--r-- | src/libs/zbxnix/daemon.c | 7 | ||||
-rw-r--r-- | src/zabbix_agent/zabbix_agentd.c | 21 | ||||
-rw-r--r-- | src/zabbix_js/zabbix_js.c | 13 | ||||
-rw-r--r-- | src/zabbix_proxy/proxy.c | 21 | ||||
-rw-r--r-- | src/zabbix_sender/zabbix_sender.c | 3 | ||||
-rw-r--r-- | src/zabbix_server/server.c | 23 | ||||
-rw-r--r-- | tests/libs/zbxcommon/Makefile.am | 1 | ||||
-rw-r--r-- | tests/libs/zbxtime/Makefile.am | 1 | ||||
-rw-r--r-- | tests/libs/zbxtrends/Makefile.am | 1 |
14 files changed, 96 insertions, 59 deletions
diff --git a/include/cfg.h b/include/cfg.h index 567016329a8..c0bd6216f08 100644 --- a/include/cfg.h +++ b/include/cfg.h @@ -45,10 +45,6 @@ #define ZBX_PROXY_HEARTBEAT_FREQUENCY_MAX SEC_PER_HOUR #define ZBX_PROXY_LASTACCESS_UPDATE_FREQUENCY 5 -extern char *CONFIG_LOG_TYPE_STR; -extern int CONFIG_LOG_TYPE; -extern char *CONFIG_LOG_FILE; -extern int CONFIG_LOG_FILE_SIZE; extern int CONFIG_TIMEOUT; struct cfg_line diff --git a/include/log.h b/include/log.h index 24d233ac949..d9e509611e7 100644 --- a/include/log.h +++ b/include/log.h @@ -43,6 +43,15 @@ #define LOG_ENTRY_INTERVAL_DELAY 60 /* seconds */ extern int zbx_log_level; + +typedef struct +{ + char *log_file_name; + char *log_type_str; + int log_type; + int log_file_size; +} zbx_config_log_t; + #define ZBX_CHECK_LOG_LEVEL(level) \ ((LOG_LEVEL_INFORMATION != (level) && \ ((level) > zbx_log_level || LOG_LEVEL_EMPTY == (level))) ? FAIL : SUCCEED) @@ -61,9 +70,9 @@ extern int zbx_log_level; # define zabbix_log __zbx_zabbix_log #endif -int zabbix_open_log(int type, int level, const char *filename, char **error); -void __zbx_zabbix_log(int level, const char *fmt, ...) __zbx_attr_format_printf(2, 3); -void zabbix_close_log(void); +int zabbix_open_log(const zbx_config_log_t *log_file_cfg, int level, char **error); +void __zbx_zabbix_log(int level, const char *fmt, ...) __zbx_attr_format_printf(2, 3); +void zabbix_close_log(void); #ifndef _WINDOWS int zabbix_increase_log_level(void); @@ -83,7 +92,7 @@ int zbx_redirect_stdio(const char *filename); void zbx_handle_log(void); int zbx_get_log_type(const char *logtype); -int zbx_validate_log_parameters(ZBX_TASK_EX *task); +int zbx_validate_log_parameters(ZBX_TASK_EX *task, const zbx_config_log_t *log_file_cfg); void zbx_strlog_alloc(int level, char **out, size_t *out_alloc, size_t *out_offset, const char *format, ...) __zbx_attr_format_printf(5, 6); diff --git a/include/zbxnix.h b/include/zbxnix.h index eae8b6af05e..e66c4b6415b 100644 --- a/include/zbxnix.h +++ b/include/zbxnix.h @@ -46,7 +46,8 @@ int ZBX_EXIT_STATUS(void); typedef const char* (*zbx_get_pid_file_pathname_f)(void); int zbx_daemon_start(int allow_root, const char *user, unsigned int flags, - zbx_get_pid_file_pathname_f get_pid_file_cb, zbx_on_exit_t zbx_on_exit_cb_arg); + zbx_get_pid_file_pathname_f get_pid_file_cb, zbx_on_exit_t zbx_on_exit_cb_arg, int config_log_type, + const char *config_log_file); void zbx_daemon_stop(void); int zbx_sigusr_send(int flags, const char *pid_file_pathname); diff --git a/src/libs/zbxconf/cfg.c b/src/libs/zbxconf/cfg.c index 792da1d4982..95bdb6fc373 100644 --- a/src/libs/zbxconf/cfg.c +++ b/src/libs/zbxconf/cfg.c @@ -25,10 +25,6 @@ extern unsigned char program_type; -char *CONFIG_LOG_TYPE_STR = NULL; -int CONFIG_LOG_TYPE = LOG_TYPE_UNDEFINED; -char *CONFIG_LOG_FILE = NULL; -int CONFIG_LOG_FILE_SIZE = 1; int CONFIG_TIMEOUT = 3; static int __parse_cfg_file(const char *cfg_file, struct cfg_line *cfg, int level, int optional, int strict, diff --git a/src/libs/zbxlog/log.c b/src/libs/zbxlog/log.c index 41f166b0998..6d917d4ecfc 100644 --- a/src/libs/zbxlog/log.c +++ b/src/libs/zbxlog/log.c @@ -36,6 +36,17 @@ static int log_type = LOG_TYPE_UNDEFINED; static zbx_mutex_t log_access = ZBX_MUTEX_NULL; int zbx_log_level = LOG_LEVEL_WARNING; +static int config_log_file_size = -1; /* max log file size in MB */ + +static int get_config_log_file_size(void) +{ + if (-1 != config_log_file_size) + return config_log_file_size; + + THIS_SHOULD_NEVER_HAPPEN; + exit(EXIT_FAILURE); +} + #ifdef _WINDOWS # define LOCK_LOG zbx_mutex_lock(log_access) # define UNLOCK_LOG zbx_mutex_unlock(log_access) @@ -159,7 +170,7 @@ static void rotate_log(const char *filename) new_size = buf.st_size; - if (0 != CONFIG_LOG_FILE_SIZE && (zbx_uint64_t)CONFIG_LOG_FILE_SIZE * ZBX_MEBIBYTE < new_size) + if (0 != get_config_log_file_size() && (zbx_uint64_t)get_config_log_file_size() * ZBX_MEBIBYTE < new_size) { char filename_old[MAX_STRING_LEN]; @@ -291,10 +302,14 @@ void zbx_handle_log(void) UNLOCK_LOG; } -int zabbix_open_log(int type, int level, const char *filename, char **error) +int zabbix_open_log(const zbx_config_log_t *log_file_cfg, int level, char **error) { + const char *filename = log_file_cfg->log_file_name; + int type = log_file_cfg->log_type; + log_type = type; zbx_log_level = level; + config_log_file_size = log_file_cfg->log_file_size; if (LOG_TYPE_SYSTEM == type) { @@ -323,7 +338,8 @@ int zabbix_open_log(int type, int level, const char *filename, char **error) if (NULL == (log_file = fopen(filename, "a+"))) { - *error = zbx_dsprintf(*error, "unable to open log file [%s]: %s", filename, zbx_strerror(errno)); + *error = zbx_dsprintf(*error, "unable to open log file [%s]: %s", filename, + zbx_strerror(errno)); return FAIL; } @@ -387,7 +403,7 @@ void __zbx_zabbix_log(int level, const char *fmt, ...) LOCK_LOG; - if (0 != CONFIG_LOG_FILE_SIZE) + if (0 != get_config_log_file_size()) rotate_log(log_filename); if (NULL != (log_file = fopen(log_filename, "a+"))) @@ -577,15 +593,16 @@ int zbx_get_log_type(const char *logtype) return LOG_TYPE_UNDEFINED; } -int zbx_validate_log_parameters(ZBX_TASK_EX *task) +int zbx_validate_log_parameters(ZBX_TASK_EX *task, const zbx_config_log_t *log_file_cfg) { - if (LOG_TYPE_UNDEFINED == CONFIG_LOG_TYPE) + if (LOG_TYPE_UNDEFINED == log_file_cfg->log_type) { - zabbix_log(LOG_LEVEL_CRIT, "invalid \"LogType\" configuration parameter: '%s'", CONFIG_LOG_TYPE_STR); + zabbix_log(LOG_LEVEL_CRIT, "invalid \"LogType\" configuration parameter: '%s'", + log_file_cfg->log_type_str); return FAIL; } - if (LOG_TYPE_CONSOLE == CONFIG_LOG_TYPE && 0 == (task->flags & ZBX_TASK_FLAG_FOREGROUND) && + if (LOG_TYPE_CONSOLE == log_file_cfg->log_type && 0 == (task->flags & ZBX_TASK_FLAG_FOREGROUND) && ZBX_TASK_START == task->task) { zabbix_log(LOG_LEVEL_CRIT, "\"LogType\" \"console\" parameter can only be used with the" @@ -593,7 +610,8 @@ int zbx_validate_log_parameters(ZBX_TASK_EX *task) return FAIL; } - if (LOG_TYPE_FILE == CONFIG_LOG_TYPE && (NULL == CONFIG_LOG_FILE || '\0' == *CONFIG_LOG_FILE)) + if (LOG_TYPE_FILE == log_file_cfg->log_type && (NULL == log_file_cfg->log_file_name || '\0' == + *log_file_cfg->log_file_name)) { zabbix_log(LOG_LEVEL_CRIT, "\"LogType\" \"file\" parameter requires \"LogFile\" parameter to be set"); return FAIL; diff --git a/src/libs/zbxnix/daemon.c b/src/libs/zbxnix/daemon.c index 3cd11018e0a..740ba4f6f5d 100644 --- a/src/libs/zbxnix/daemon.c +++ b/src/libs/zbxnix/daemon.c @@ -324,12 +324,15 @@ static void set_daemon_signal_handlers(void) * name of PID file * * zbx_on_exit_cb_arg - callback function called when terminating * * signal handler * + * config_log_type - [IN] * + * config_log_file - [IN] * * * * Comments: it doesn't allow running under 'root' if allow_root is zero * * * ******************************************************************************/ int zbx_daemon_start(int allow_root, const char *user, unsigned int flags, - zbx_get_pid_file_pathname_f get_pid_file_cb, zbx_on_exit_t zbx_on_exit_cb_arg) + zbx_get_pid_file_pathname_f get_pid_file_cb, zbx_on_exit_t zbx_on_exit_cb_arg, int config_log_type, + const char *config_log_file) { struct passwd *pwd; @@ -423,7 +426,7 @@ int zbx_daemon_start(int allow_root, const char *user, unsigned int flags, if (-1 == chdir("/")) /* this is to eliminate warning: ignoring return value of chdir */ assert(0); - if (FAIL == zbx_redirect_stdio(LOG_TYPE_FILE == CONFIG_LOG_TYPE ? CONFIG_LOG_FILE : NULL)) + if (FAIL == zbx_redirect_stdio(LOG_TYPE_FILE == config_log_type ? config_log_file : NULL)) exit(EXIT_FAILURE); } diff --git a/src/zabbix_agent/zabbix_agentd.c b/src/zabbix_agent/zabbix_agentd.c index 8551c8a8136..59a5446b826 100644 --- a/src/zabbix_agent/zabbix_agentd.c +++ b/src/zabbix_agent/zabbix_agentd.c @@ -290,6 +290,8 @@ int CONFIG_TRIGGERHOUSEKEEPER_FORKS = 0; static char *config_file = NULL; static int config_allow_root = 0; +static zbx_config_log_t log_file_cfg = {NULL, NULL, LOG_TYPE_UNDEFINED, 1}; + char *opt = NULL; #ifdef _WINDOWS @@ -605,8 +607,8 @@ static void set_defaults(void) if (NULL == CONFIG_PID_FILE) CONFIG_PID_FILE = (char *)"/tmp/zabbix_agentd.pid"; #endif - if (NULL == CONFIG_LOG_TYPE_STR) - CONFIG_LOG_TYPE_STR = zbx_strdup(CONFIG_LOG_TYPE_STR, ZBX_OPTION_LOGTYPE_FILE); + if (NULL == log_file_cfg.log_type_str) + log_file_cfg.log_type_str = zbx_strdup(log_file_cfg.log_type_str, ZBX_OPTION_LOGTYPE_FILE); } /****************************************************************************** @@ -682,7 +684,7 @@ static void zbx_validate_config(ZBX_TASK_EX *task) err = 1; } - if (SUCCEED != zbx_validate_log_parameters(task)) + if (SUCCEED != zbx_validate_log_parameters(task, &log_file_cfg)) err = 1; #if !(defined(HAVE_GNUTLS) || defined(HAVE_OPENSSL)) @@ -855,11 +857,11 @@ static void zbx_load_config(int requirement, ZBX_TASK_EX *task) {"PidFile", &CONFIG_PID_FILE, TYPE_STRING, PARM_OPT, 0, 0}, #endif - {"LogType", &CONFIG_LOG_TYPE_STR, TYPE_STRING, + {"LogType", &log_file_cfg.log_type_str, TYPE_STRING, PARM_OPT, 0, 0}, - {"LogFile", &CONFIG_LOG_FILE, TYPE_STRING, + {"LogFile", &log_file_cfg.log_file_name, TYPE_STRING, PARM_OPT, 0, 0}, - {"LogFileSize", &CONFIG_LOG_FILE_SIZE, TYPE_INT, + {"LogFileSize", &log_file_cfg.log_file_size, TYPE_INT, PARM_OPT, 0, 1024}, {"Timeout", &CONFIG_TIMEOUT, TYPE_INT, PARM_OPT, 1, 30}, @@ -968,7 +970,7 @@ static void zbx_load_config(int requirement, ZBX_TASK_EX *task) set_defaults(); - CONFIG_LOG_TYPE = zbx_get_log_type(CONFIG_LOG_TYPE_STR); + log_file_cfg.log_type = zbx_get_log_type(log_file_cfg.log_type_str); zbx_vector_str_create(&hostnames); parse_hostnames(CONFIG_HOSTNAMES, &hostnames); @@ -1104,7 +1106,7 @@ int MAIN_ZABBIX_ENTRY(int flags) exit(EXIT_FAILURE); } #endif - if (SUCCEED != zabbix_open_log(CONFIG_LOG_TYPE, CONFIG_LOG_LEVEL, CONFIG_LOG_FILE, &error)) + if (SUCCEED != zabbix_open_log(&log_file_cfg, CONFIG_LOG_LEVEL, &error)) { zbx_error("cannot open log: %s", error); zbx_free(error); @@ -1504,7 +1506,8 @@ int main(int argc, char **argv) #if defined(ZABBIX_SERVICE) zbx_service_start(t.flags); #elif defined(ZABBIX_DAEMON) - zbx_daemon_start(config_allow_root, CONFIG_USER, t.flags, get_pid_file_path, zbx_on_exit); + zbx_daemon_start(config_allow_root, CONFIG_USER, t.flags, get_pid_file_path, zbx_on_exit, + log_file_cfg.log_type, log_file_cfg.log_file_name); #endif exit(EXIT_SUCCESS); } diff --git a/src/zabbix_js/zabbix_js.c b/src/zabbix_js/zabbix_js.c index 01b618c6030..06d1bbea1b9 100644 --- a/src/zabbix_js/zabbix_js.c +++ b/src/zabbix_js/zabbix_js.c @@ -119,15 +119,16 @@ static char *read_file(const char *filename, char **error) int main(int argc, char **argv) { - int ret = FAIL, loglevel = LOG_LEVEL_WARNING, timeout = 0; - char *script_file = NULL, *input_file = NULL, *param = NULL, ch, *script = NULL, *error = NULL, - *result = NULL, script_error[MAX_STRING_LEN]; + int ret = FAIL, loglevel = LOG_LEVEL_WARNING, timeout = 0; + char *script_file = NULL, *input_file = NULL, *param = NULL, ch, *script = NULL, + *error = NULL, *result = NULL, script_error[MAX_STRING_LEN]; + zbx_config_log_t log_file_cfg = {NULL, NULL, LOG_TYPE_UNDEFINED, 0}; /* see description of 'optarg' in 'man 3 getopt' */ - char *zbx_optarg = NULL; + char *zbx_optarg = NULL; /* see description of 'optind' in 'man 3 getopt' */ - int zbx_optind = 0; + int zbx_optind = 0; progname = get_program_name(argv[0]); @@ -175,7 +176,7 @@ int main(int argc, char **argv) goto clean; } - if (SUCCEED != zabbix_open_log(LOG_TYPE_UNDEFINED, loglevel, NULL, &error)) + if (SUCCEED != zabbix_open_log(&log_file_cfg, loglevel, &error)) { zbx_error("cannot open log: %s", error); goto clean; diff --git a/src/zabbix_proxy/proxy.c b/src/zabbix_proxy/proxy.c index c0674d7c1c0..d4e990b8a01 100644 --- a/src/zabbix_proxy/proxy.c +++ b/src/zabbix_proxy/proxy.c @@ -298,6 +298,8 @@ int CONFIG_DOUBLE_PRECISION = ZBX_DB_DBL_PRECISION_ENABLED; static char *config_file = NULL; static int config_allow_root = 0; +static zbx_config_log_t log_file_cfg = {NULL, NULL, LOG_TYPE_UNDEFINED, 1}; + zbx_vector_ptr_t zbx_addrs; int get_process_info_by_thread(int local_server_num, unsigned char *local_process_type, int *local_process_num); @@ -503,8 +505,8 @@ static void zbx_set_defaults(void) program_type = ZBX_PROGRAM_TYPE_PROXY_PASSIVE; } - if (NULL == CONFIG_LOG_TYPE_STR) - CONFIG_LOG_TYPE_STR = zbx_strdup(CONFIG_LOG_TYPE_STR, ZBX_OPTION_LOGTYPE_FILE); + if (NULL == log_file_cfg.log_type_str) + log_file_cfg.log_type_str = zbx_strdup(log_file_cfg.log_type_str, ZBX_OPTION_LOGTYPE_FILE); if (NULL == CONFIG_SOCKET_PATH) CONFIG_SOCKET_PATH = zbx_strdup(CONFIG_SOCKET_PATH, "/tmp"); @@ -610,7 +612,7 @@ static void zbx_validate_config(ZBX_TASK_EX *task) /* because they have non-zero default values */ #endif - if (SUCCEED != zbx_validate_log_parameters(task)) + if (SUCCEED != zbx_validate_log_parameters(task, &log_file_cfg)) err = 1; #if !(defined(HAVE_GNUTLS) || defined(HAVE_OPENSSL)) @@ -779,11 +781,11 @@ static void zbx_load_config(ZBX_TASK_EX *task) PARM_OPT, 0, 5}, {"PidFile", &CONFIG_PID_FILE, TYPE_STRING, PARM_OPT, 0, 0}, - {"LogType", &CONFIG_LOG_TYPE_STR, TYPE_STRING, + {"LogType", &log_file_cfg.log_type_str, TYPE_STRING, PARM_OPT, 0, 0}, - {"LogFile", &CONFIG_LOG_FILE, TYPE_STRING, + {"LogFile", &log_file_cfg.log_file_name, TYPE_STRING, PARM_OPT, 0, 0}, - {"LogFileSize", &CONFIG_LOG_FILE_SIZE, TYPE_INT, + {"LogFileSize", &log_file_cfg.log_file_size, TYPE_INT, PARM_OPT, 0, 1024}, {"ExternalScripts", &CONFIG_EXTERNALSCRIPTS, TYPE_STRING, PARM_OPT, 0, 0}, @@ -911,7 +913,7 @@ static void zbx_load_config(ZBX_TASK_EX *task) zbx_set_defaults(); - CONFIG_LOG_TYPE = zbx_get_log_type(CONFIG_LOG_TYPE_STR); + log_file_cfg.log_type = zbx_get_log_type(log_file_cfg.log_type_str); zbx_validate_config(task); @@ -1118,7 +1120,8 @@ int main(int argc, char **argv) exit(SUCCEED == ret ? EXIT_SUCCESS : EXIT_FAILURE); } - return zbx_daemon_start(config_allow_root, CONFIG_USER, t.flags, get_pid_file_path, zbx_on_exit); + return zbx_daemon_start(config_allow_root, CONFIG_USER, t.flags, get_pid_file_path, zbx_on_exit, + log_file_cfg.log_type, log_file_cfg.log_file_name); } static void zbx_check_db(void) @@ -1231,7 +1234,7 @@ int MAIN_ZABBIX_ENTRY(int flags) exit(EXIT_FAILURE); } - if (SUCCEED != zabbix_open_log(CONFIG_LOG_TYPE, CONFIG_LOG_LEVEL, CONFIG_LOG_FILE, &error)) + if (SUCCEED != zabbix_open_log(&log_file_cfg, CONFIG_LOG_LEVEL, &error)) { zbx_error("cannot open log:%s", error); zbx_free(error); diff --git a/src/zabbix_sender/zabbix_sender.c b/src/zabbix_sender/zabbix_sender.c index 123e79d1c67..269a940f95a 100644 --- a/src/zabbix_sender/zabbix_sender.c +++ b/src/zabbix_sender/zabbix_sender.c @@ -1497,6 +1497,7 @@ int main(int argc, char **argv) char *error = NULL; int total_count = 0, succeed_count = 0, ret = FAIL, timestamp, ns; zbx_thread_sendval_args *sendval_args = NULL; + zbx_config_log_t log_file_cfg = {NULL, NULL, LOG_TYPE_UNDEFINED, 0}; zbx_config_tls = zbx_config_tls_new(); @@ -1514,7 +1515,7 @@ int main(int argc, char **argv) exit(EXIT_FAILURE); } #endif - if (SUCCEED != zabbix_open_log(LOG_TYPE_UNDEFINED, CONFIG_LOG_LEVEL, NULL, &error)) + if (SUCCEED != zabbix_open_log(&log_file_cfg, CONFIG_LOG_LEVEL, &error)) { zbx_error("cannot open log: %s", error); zbx_free(error); diff --git a/src/zabbix_server/server.c b/src/zabbix_server/server.c index 5cd62e96067..4aa10ffa80f 100644 --- a/src/zabbix_server/server.c +++ b/src/zabbix_server/server.c @@ -338,6 +338,8 @@ int CONFIG_SERVICEMAN_SYNC_FREQUENCY = 60; static char *config_file = NULL; static int config_allow_root = 0; +static zbx_config_log_t log_file_cfg = {NULL, NULL, LOG_TYPE_UNDEFINED, 1}; + struct zbx_db_version_info_t db_version_info; int get_process_info_by_thread(int local_server_num, unsigned char *local_process_type, int *local_process_num); @@ -576,8 +578,8 @@ static void zbx_set_defaults(void) CONFIG_MAX_HOUSEKEEPER_DELETE = 0; #endif - if (NULL == CONFIG_LOG_TYPE_STR) - CONFIG_LOG_TYPE_STR = zbx_strdup(CONFIG_LOG_TYPE_STR, ZBX_OPTION_LOGTYPE_FILE); + if (NULL == log_file_cfg.log_type_str) + log_file_cfg.log_type_str = zbx_strdup(log_file_cfg.log_type_str, ZBX_OPTION_LOGTYPE_FILE); if (NULL == CONFIG_SOCKET_PATH) CONFIG_SOCKET_PATH = zbx_strdup(CONFIG_SOCKET_PATH, "/tmp"); @@ -686,7 +688,7 @@ static void zbx_validate_config(ZBX_TASK_EX *task) /* because they have non-zero default values */ #endif - if (SUCCEED != zbx_validate_log_parameters(task)) + if (SUCCEED != zbx_validate_log_parameters(task, &log_file_cfg)) err = 1; #if !(defined(HAVE_GNUTLS) || defined(HAVE_OPENSSL)) @@ -815,11 +817,11 @@ static void zbx_load_config(ZBX_TASK_EX *task) PARM_OPT, 0, 5}, {"PidFile", &CONFIG_PID_FILE, TYPE_STRING, PARM_OPT, 0, 0}, - {"LogType", &CONFIG_LOG_TYPE_STR, TYPE_STRING, + {"LogType", &log_file_cfg.log_type_str, TYPE_STRING, PARM_OPT, 0, 0}, - {"LogFile", &CONFIG_LOG_FILE, TYPE_STRING, + {"LogFile", &log_file_cfg.log_file_name, TYPE_STRING, PARM_OPT, 0, 0}, - {"LogFileSize", &CONFIG_LOG_FILE_SIZE, TYPE_INT, + {"LogFileSize", &log_file_cfg.log_file_size, TYPE_INT, PARM_OPT, 0, 1024}, {"AlertScriptsPath", &CONFIG_ALERT_SCRIPTS_PATH, TYPE_STRING, PARM_OPT, 0, 0}, @@ -967,7 +969,7 @@ static void zbx_load_config(ZBX_TASK_EX *task) parse_cfg_file(config_file, cfg, ZBX_CFG_FILE_REQUIRED, ZBX_CFG_STRICT, ZBX_CFG_EXIT_FAILURE); zbx_set_defaults(); - CONFIG_LOG_TYPE = zbx_get_log_type(CONFIG_LOG_TYPE_STR); + log_file_cfg.log_type = zbx_get_log_type(log_file_cfg.log_type_str); zbx_validate_config(task); #if defined(HAVE_MYSQL) || defined(HAVE_POSTGRESQL) @@ -1176,7 +1178,8 @@ int main(int argc, char **argv) exit(SUCCEED == ret ? EXIT_SUCCESS : EXIT_FAILURE); } - return zbx_daemon_start(config_allow_root, CONFIG_USER, t.flags, get_pid_file_path, zbx_on_exit); + return zbx_daemon_start(config_allow_root, CONFIG_USER, t.flags, get_pid_file_path, zbx_on_exit, + log_file_cfg.log_type, log_file_cfg.log_file_name); } static void zbx_check_db(void) @@ -1547,7 +1550,7 @@ static int server_restart_logger(char **error) if (SUCCEED != zbx_locks_create(error)) return FAIL; - if (SUCCEED != zabbix_open_log(CONFIG_LOG_TYPE, CONFIG_LOG_LEVEL, CONFIG_LOG_FILE, error)) + if (SUCCEED != zabbix_open_log(&log_file_cfg, CONFIG_LOG_LEVEL, error)) return FAIL; return SUCCEED; @@ -1667,7 +1670,7 @@ int MAIN_ZABBIX_ENTRY(int flags) exit(EXIT_FAILURE); } - if (SUCCEED != zabbix_open_log(CONFIG_LOG_TYPE, CONFIG_LOG_LEVEL, CONFIG_LOG_FILE, &error)) + if (SUCCEED != zabbix_open_log(&log_file_cfg, CONFIG_LOG_LEVEL, &error)) { zbx_error("cannot open log: %s", error); zbx_free(error); diff --git a/tests/libs/zbxcommon/Makefile.am b/tests/libs/zbxcommon/Makefile.am index eedff6448a9..ad72b2519ad 100644 --- a/tests/libs/zbxcommon/Makefile.am +++ b/tests/libs/zbxcommon/Makefile.am @@ -39,6 +39,7 @@ COMMON_SRC_FILES = \ ../../zbxmocktest.h COMMON_LIB_FILES = \ + $(top_srcdir)/tests/libzbxmockdata.a \ $(top_srcdir)/src/zabbix_server/alerter/libzbxalerter.a \ $(top_srcdir)/src/zabbix_server/dbsyncer/libzbxdbsyncer.a \ $(top_srcdir)/src/zabbix_server/dbconfig/libzbxdbconfig.a \ diff --git a/tests/libs/zbxtime/Makefile.am b/tests/libs/zbxtime/Makefile.am index 4cd52c8082b..68226b613b3 100644 --- a/tests/libs/zbxtime/Makefile.am +++ b/tests/libs/zbxtime/Makefile.am @@ -10,6 +10,7 @@ COMMON_SRC_FILES = \ ../../zbxmocktest.h COMMON_LIB_FILES = \ + $(top_srcdir)/tests/libzbxmockdata.a \ $(top_srcdir)/src/libs/zbxtime/libzbxtime.a \ $(top_srcdir)/src/libs/zbxnix/libzbxnix.a \ $(top_srcdir)/src/libs/zbxlog/libzbxlog.a \ diff --git a/tests/libs/zbxtrends/Makefile.am b/tests/libs/zbxtrends/Makefile.am index 064de208364..ae2b1c75245 100644 --- a/tests/libs/zbxtrends/Makefile.am +++ b/tests/libs/zbxtrends/Makefile.am @@ -11,6 +11,7 @@ COMMON_SRC_FILES = \ ../../zbxmocktest.h COMMON_LIB_FILES = \ + $(top_srcdir)/tests/libzbxmockdata.a \ $(top_srcdir)/src/libs/zbxtrends/libzbxtrends.a \ $(top_srcdir)/src/libs/zbxregexp/libzbxregexp.a \ $(top_srcdir)/src/libs/zbxshmem/libzbxshmem.a \ |