---
name: "qb_log_ctl2"
section: "3"
platform: "linux"
package: "libqb"
version: "2.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/qb_log_ctl2"
---

# qb\_log\_ctl2(3)

Extension of main logging control function accepting also strings.

## 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_filter_fn_set/3.md), *qb\_log\_from\_external\_source\_va2*(3), [*qb\_log\_thread\_start*(3)](/qb_log_thread_start/3.md), [*qb\_log\_target\_user\_data\_get*(3)](/qb_log_target_user_data_get/3.md), [*qb\_log\_tags\_stringify\_fn\_set*(3)](/qb_log_tags_stringify_fn_set/3.md), [*qb\_log\_file\_reopen*(3)](/qb_log_file_reopen/3.md), [*qb\_log\_fini*(3)](/qb_log_fini/3.md), [*qb\_log\_callsites\_dump*(3)](/qb_log_callsites_dump/3.md), [*qb\_log\_target\_user\_data\_set*(3)](/qb_log_target_user_data_set/3.md), [*qb\_log\_target\_format*(3)](/qb_log_target_format/3.md), [*qb\_log\_thread\_priority\_set*(3)](/qb_log_thread_priority_set/3.md), [*qb\_log\_facility2int*(3)](/qb_log_facility2int/3.md), [*qb\_log\_callsites\_register*(3)](/qb_log_callsites_register/3.md), [*qb\_log\_filter\_ctl2*(3)](/qb_log_filter_ctl2/3.md), [*qb\_log\_file\_close*(3)](/qb_log_file_close/3.md), [*qb\_log\_format\_set*(3)](/qb_log_format_set/3.md), [*qb\_log\_real\_*(3)](/qb_log_real_/3.md), [*qb\_log\_from\_external\_source\_va*(3)](/qb_log_from_external_source_va/3.md), [*qb\_log\_callsite\_get*(3)](/qb_log_callsite_get/3.md), [*qb\_log\_blackbox\_write\_to\_file*(3)](/qb_log_blackbox_write_to_file/3.md), [*qb\_log\_real\_va\_*(3)](/qb_log_real_va_/3.md), [*qb\_log\_from\_external\_source*(3)](/qb_log_from_external_source/3.md), [*qb\_log\_blackbox\_print\_from\_file*(3)](/qb_log_blackbox_print_from_file/3.md), [*qb\_log\_facility2str*(3)](/qb_log_facility2str/3.md), *qb\_log\_callsite\_get2*(3), [*qb\_log\_ctl*(3)](/qb_log_ctl/3.md), [*qb\_log\_filter\_ctl*(3)](/qb_log_filter_ctl/3.md), [*qb\_log\_custom\_close*(3)](/qb_log_custom_close/3.md), [*qb\_log\_init*(3)](/qb_log_init/3.md), [*qb\_log\_file\_open*(3)](/qb_log_file_open/3.md), [*qb\_log\_custom\_open*(3)](/qb_log_custom_open/3.md)

## COPYRIGHT

Copyright (c) 2017 Red Hat, Inc.
