mirror of
https://codeberg.org/dnkl/foot.git
synced 2026-02-04 04:06:06 -05:00
log: don’t default to syslog enabled
Initialize the global ‘do_syslog’ variable to false. This ensures any log calls done before log_init() has been called (e.g. unit tests) doesn’t syslog anything. As a side effect, such log calls no longer open an implicit syslog file descriptor; this is how this “bug” was found: valgrind detected an unclosed file descriptor at exit. Finally, completely disable syslogging if log-level is “none”.
This commit is contained in:
parent
76d494484f
commit
b43a41df6a
1 changed files with 7 additions and 2 deletions
9
log.c
9
log.c
|
|
@ -15,7 +15,7 @@
|
|||
#include "xsnprintf.h"
|
||||
|
||||
static bool colorize = false;
|
||||
static bool do_syslog = true;
|
||||
static bool do_syslog = false;
|
||||
static enum log_class log_level = LOG_CLASS_NONE;
|
||||
|
||||
static const struct {
|
||||
|
|
@ -45,8 +45,13 @@ log_init(enum log_colorize _colorize, bool _do_syslog,
|
|||
log_level = _log_level;
|
||||
|
||||
int slvl = log_level_map[_log_level].syslog_equivalent;
|
||||
if (do_syslog && slvl != -1) {
|
||||
if (slvl < 0)
|
||||
do_syslog = false;
|
||||
|
||||
if (do_syslog) {
|
||||
openlog(NULL, /*LOG_PID*/0, facility_map[syslog_facility]);
|
||||
|
||||
xassert(slvl >= 0);
|
||||
setlogmask(LOG_UPTO(slvl));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue