void zbx_strlog_alloc(int level, char **out, size_t *out_alloc, size_t *out_offset, const char *format,
#define ZBX_LOG_TYPE_UNDEFINED 0
#define ZBX_LOG_TYPE_SYSTEM 1
#define ZBX_LOG_TYPE_FILE 2
#define ZBX_LOG_TYPE_CONSOLE 3
#define ZBX_OPTION_LOGTYPE_SYSTEM "system"
#define ZBX_OPTION_LOGTYPE_FILE "file"
#define ZBX_OPTION_LOGTYPE_CONSOLE "console"
#define ZBX_LOG_ENTRY_INTERVAL_DELAY 60
void __zbx_update_env(double time_now);
#define zbx_update_env(info, time_now) \
__zbx_update_env(time_now); \
#define zbx_update_env(info, time_now) \
__zbx_update_env(time_now); \
zbx_prof_update(info, time_now); \
int zbx_open_log(const zbx_config_log_t *log_file_cfg, int level, const char *syslog_app_name,
const char *event_source, char **error);
void zbx_log_impl(int level, const char *fmt, va_list args);