fcft_log_init(3)

NAME

fcft_log_init - configure logging in fcft

SYNOPSIS

#include <fcft/fcft.h>

void fcft_log_init(
    enum fcft_log_colorize colorize, bool do_syslog, enum fcft_log_class log_level);

DESCRIPTION

By default, fcft does not log anything; use fcft_log_init() to enable, and configure logging in fcft.

fcft_log_init() is typically called early, at program startup.

colorize is one of:

    enum fcft_log_colorize {
        FCFT_LOG_COLORIZE_NEVER,
        FCFT_LOG_COLORIZE_ALWAYS,
        FCFT_LOG_COLORIZE_AUTO
    };

FCFT_LOG_COLORIZE_AUTO enables colors if stderr is a TTY.

if do_syslog is set, fcft will log to syslog, in addition to the regular logging on stderr.

Note that fcft does not call openlog(), even if do_syslog is set. Do this from the calling application. Before, or after calling fcft_log_init() does not matter, as long as it is done before calling any other fcft API functions.

Finally, log_level configures which types of log messages that will be shown.
    enum fcft_log_class {
        FCFT_LOG_CLASS_NONE,
        FCFT_LOG_CLASS_ERROR,
        FCFT_LOG_CLASS_WARNING,
        FCFT_LOG_CLASS_INFO,
        FCFT_LOG_CLASS_DEBUG
    };

Note that this is not a bitmask; setting FCFT_LOG_CLASS_INFO, also enables FCFT_LOG_CLASS_WARNING and FCFT_LOG_CLASS_ERROR.