6 static enum log_level min_log_level
= LOG_NOTICE
;
7 static FILE *log_file
= NULL
;
8 static int log_do_scrub
= 1;
11 log_debug(const char *msg
, ...)
16 log_msg_va(LOG_DEBUG
, 0, msg
, ap
);
21 log_info(const char *msg
, ...)
26 log_msg_va(LOG_INFO
, 0, msg
, ap
);
31 log_notice(const char *msg
, ...)
36 log_msg_va(LOG_NOTICE
, 0, msg
, ap
);
41 log_warn(const char *msg
, ...)
46 log_msg_va(LOG_WARN
, 0, msg
, ap
);
51 log_error(const char *msg
, ...)
56 log_msg_va(LOG_ERROR
, 0, msg
, ap
);
61 log_socket_error(const char *msg
, ...)
66 log_msg_va(LOG_ERROR
, 1, msg
, ap
);
71 log_fatal(const char *msg
, ...)
76 log_msg_va(LOG_FATAL
, 0, msg
, ap
);
81 log_msg_va(enum log_level lvl
, int serr
, const char *msg
, va_list ap
)
83 if (lvl
>= min_log_level
) {
84 vfprintf(log_file
, msg
, ap
);
86 fprintf(log_file
, ": %s", socket_error_string(-1));
87 fputs("\n", log_file
);
95 log_set_min_level(enum log_level lvl
)
101 log_get_min_level(void)
103 return min_log_level
;
107 log_set_file(FILE *fp
)
116 log_set_scrub(int scrub
)
118 log_do_scrub
= scrub
;
128 log_scrub(const char *what
)