kutil_openlog - configure log message sink


KUTIL_OPENLOG(3) Library Functions Manual KUTIL_OPENLOG(3)

NAME

kutil_openlog — configure log message sink

LIBRARY

library “libkcgi”

SYNOPSIS

#include <sys/types.h>
#include <stdarg.h>
#include <stdint.h>
#include <kcgi.h>

int

kutil_openlog(const char *file);

DESCRIPTION

The kutil_openlog() function configures output for the kutil_log(3) family of functions. By default, these functions log to stderr and inherit the initial output buffering behaviour (see setvbuf(3)).

If file is not NULL, kutil_openlog() first redirects stderr to file. Then, regardless of whether file is NULL, the output buffering of the stream is set to line buffered.

CGI scripts invoking long-running child processes via fork(2) should use this function with a valid file as the web server might wait for all file descriptors to close before closing the request connection.

RETURN VALUES

The kutil_openlog() function returns zero on failure (system error) and non-zero on success. If kutil_openlog() fails to re-open stderr, the output stream may no longer be operable: the caller should exit.

AUTHORS

The kutil_openlog() function was written by Kristaps Dzonsons <[email protected]>.

CAVEATS

In most situations, file is configured in the default log directory, which is not writable to the CGI process. Thus, file must be pre-created and be writable to the CGI process. Otherwise, kutil_openlog() will fail to create the file and exit with failure. GNU $Mdocdate$ KUTIL_OPENLOG(3)


Updated 2024-01-29 - jenkler.se | uex.se