QB_LOG_CTL2(3)

NAME
qb_log_ctl2 - Extension of main logging control function accepting also strings.

SYNOPSIS
#include <qb/qblog.h>

int32_t qb_log_ctl2(
    /*
     * QB_LOG_SYSLOG, QB_LOG_STDERR or result from qb_log_file_open()
     */
    int32_t            target,
    /*
     * configuration directive ("what to configure") that accepts either
     * int32_t or a null-terminated string argument determining the new value unless
     * ignored for particular directive (compatible directives: those valid for
     * qb_log_ctlQB_LOG_CONF_IDENT)
     */
    enum qb_log_conf   conf_type,
    /*
     * the new value for a state-changing configuration directive, ignored
     * otherwise; for QB_LOG_CONF_IDENT, 's' member as new identifier to openlog(), for
     * all qb_log_ctl-compatible ones, 'i32' member is assumed (although a
     * preferred way is to use that original function directly as it allows for more type
     * safety)
     */
    qb_log_ctl2_arg_t  arg
);

PARAMS
target QB_LOG_SYSLOG, QB_LOG_STDERR or result from qb_log_file_open()

conf_type configuration directive ("what to configure") that accepts either int32_t or a null-terminated string argument determining the new value unless ignored for particular directive (compatible directives: those valid for qb_log_ctlQB_LOG_CONF_IDENT)

arg the new value for a state-changing configuration directive, ignored otherwise; for QB_LOG_CONF_IDENT, 's' member as new identifier to openlog(), for all qb_log_ctl-compatible ones, 'i32' member is assumed (although a preferred way is to use that original function directly as it allows for more type safety)

DESCRIPTION

STRUCTURES

struct qb_log_ctl2_arg_t {

    int32_t       i32;

    const char   *s;
};

enum qb_log_conf {

      QB_LOG_CONF_ENABLED;

      QB_LOG_CONF_FACILITY;

      QB_LOG_CONF_DEBUG;

      QB_LOG_CONF_SIZE;

      QB_LOG_CONF_THREADED;

      QB_LOG_CONF_PRIORITY_BUMP;

      QB_LOG_CONF_STATE_GET;

      QB_LOG_CONF_FILE_SYNC;

      QB_LOG_CONF_EXTENDED;

      QB_LOG_CONF_IDENT;

      QB_LOG_CONF_MAX_LINE_LEN;

      QB_LOG_CONF_ELLIPSIS;

      QB_LOG_CONF_USE_JOURNAL;
};

NOTE

You can use QB_LOG_CTL2_I32 and QB_LOG_CTL2_S macros for a convenient on-the-fly construction of the object to be passed as an arg argument.

SEE ALSO

qb_log_filter_fn_set(3), qb_log_from_external_source_va2(3), qb_log_thread_start(3), qb_log_target_user_data_get(3), qb_log_tags_stringify_fn_set(3), qb_log_file_reopen(3), qb_log_fini(3), qb_log_callsites_dump(3), qb_log_target_user_data_set(3), qb_log_target_format(3), qb_log_thread_priority_set(3), qb_log_facility2int(3), qb_log_callsites_register(3), qb_log_filter_ctl2(3), qb_log_file_close(3), qb_log_format_set(3), qb_log_real_(3), qb_log_from_external_source_va(3), qb_log_callsite_get(3), qb_log_blackbox_write_to_file(3), qb_log_real_va_(3), qb_log_from_external_source(3), qb_log_blackbox_print_from_file(3), qb_log_facility2str(3), qb_log_callsite_get2(3), qb_log_ctl(3), qb_log_filter_ctl(3), qb_log_custom_close(3), qb_log_init(3), qb_log_file_open(3), qb_log_custom_open(3)

COPYRIGHT

Copyright (c) 2017 Red Hat, Inc.