libusual
0.1
|
Logging framework for unix services. More...
Defines | |
#define | LOG_CONTEXT_DEF |
Example: Prepare dummy context pointer. | |
#define | LOG_CONTEXT |
Example: Reference dummy context pointer. | |
#define | log_error(...) |
Log error message. | |
#define | log_warning(...) |
Log warning message. | |
#define | log_stats(...) |
Log stats (liveness) message. | |
#define | log_info(...) |
Log info message. | |
#define | log_debug(...) |
Log debug message. | |
#define | log_noise(...) |
Log debug noise. | |
#define | fatal(...) |
Log and die. | |
#define | fatal_perror(...) |
Log strerror and die. | |
#define | die(...) |
Less verbose fatal() | |
Typedefs | |
typedef int(* | logging_prefix_fn_t )(enum LogLevel lev, void *ctx, char *dst, unsigned int dstlen) |
Signature for logging_prefix_cb. | |
Functions | |
void | reset_logging (void) |
Close open logfiles and syslog. | |
Variables | |
logging_prefix_fn_t | logging_prefix_cb |
Optional global callback for each log line. | |
int | cf_verbose |
Global verbosity level. | |
int | cf_quiet |
Toggle logging to stderr. | |
const char * | cf_logfile |
Logfile location, default NULL. | |
int | cf_syslog |
Syslog on/off. | |
const char * | cf_syslog_ident |
ident for syslog, if NULL syslog is disabled (default) | |
const char * | cf_syslog_facility |
Facility name. | |
enum LogLevel | cf_syslog_level |
Max log level for syslog writer. | |
enum LogLevel | cf_logfile_level |
Max log level for logfile writer. | |
enum LogLevel | cf_stderr_level |
Max log level for stderr writer. |
Logging framework for unix services.
Supported outputs:
It is possible to pass context info to all logging calls and later add details to log lines or to filter based on it.
Each call references 2 macros:
Later, global callback function logging_prefix_cb will get this pointer with destination buffer and can either add more info for log line or tell to skip logging this message.
#define LOG_CONTEXT_DEF |
Example: Prepare dummy context pointer.
#define LOG_CONTEXT |
Example: Reference dummy context pointer.
#define log_error | ( | ... | ) |
Log error message.
#define log_warning | ( | ... | ) |
Log warning message.
#define log_stats | ( | ... | ) |
Log stats (liveness) message.
#define log_info | ( | ... | ) |
Log info message.
#define log_debug | ( | ... | ) |
Log debug message.
#define log_noise | ( | ... | ) |
Log debug noise.
#define fatal | ( | ... | ) |
Log and die.
It also logs source location
#define fatal_perror | ( | ... | ) |
Log strerror and die.
Error message also includes strerror(errno)
typedef int(* logging_prefix_fn_t)(enum LogLevel lev, void *ctx, char *dst, unsigned int dstlen) |
Signature for logging_prefix_cb.
Return value is either added string length in dst or negative value to skip logging.
void reset_logging | ( | void | ) |
Close open logfiles and syslog.
Useful when rotating log files.
Optional global callback for each log line.
It can either add info to log message or skip logging it.
int cf_verbose |
Global verbosity level.
0 - show only info level msgs (default) 1 - show debug msgs (log_debug) 2 - show noise msgs (log_noise)
int cf_quiet |
Toggle logging to stderr.
Default: 1. daemon.c turns this off if goes to background
const char* cf_logfile |
Logfile location, default NULL.
int cf_syslog |
Syslog on/off.
const char* cf_syslog_ident |
ident for syslog, if NULL syslog is disabled (default)
const char* cf_syslog_facility |
Facility name.
enum LogLevel cf_syslog_level |
Max log level for syslog writer.
enum LogLevel cf_logfile_level |
Max log level for logfile writer.
enum LogLevel cf_stderr_level |
Max log level for stderr writer.