Provided by: publib-dev_0.40-3build1_amd64 bug

NAME

       log - simple log file output

SYNOPSIS

       #include <publib.h>

       int log_open(const char *filename, int min_level);
       int log_add(FILE *f, int min_level);
       void log_set_level(int log_handle, int min_level);
       void log_set_localtime(int log_handle, int use_localtime);
       int log_close(void);
       void log_off(void);
       void log_on(void);
       void log_chat(const char *fmt, ...);
       void log_note(const char *fmt, ...);
       void log_warn(const char *fmt, ...);
       void log_error(const char *fmt, ...);
       void log_fatal(const char *fmt, ...);
       void log_printf(int level, const char *fmt, ...);

DESCRIPTION

       These  routines  implement  a  simple log file facility.  There can be several log files open at the same
       time (up to 256, but limits on the number of concurrently open files may set a lower  limit).   Each  log
       message  is associated with a level of severity, which can be any integer, but the levels log_level_chat,
       log_level_note, log_level_warn, log_level_error, and log_level_fatal are predefined, and  can  easily  be
       used by calling the respective print functions (log_chat, etc.); for other log levels, log_printf must be
       called.  Each open log file is associated by a minimum level.  Messages below the minimum level  are  not
       output to that log file.

       The  log  printing functions attempt to force the messages to be written to the disk (or wherever they're
       going), using fflush(3).  This will hopefully avoid problems due to delayed messages that  buffering  may
       cause.

       Log  files  are  opened with log_open.  An already open file (such as stderr) can be added to the list of
       open log files with log_add.  (Note that the file should be opened in  append  mode,  "a"  to  fopen(3)).
       Both  of  these functions set the minimum level as well.  They return a log file handle, which is used to
       identify the  log  file  to  the  other  functions.   The  minimum  level  can  later  be  adjusted  with
       log_set_level.  log_close closes all log files.

       By  default,  times in log files are reported in UTC, but each log file can be set to use local time with
       log_set_localtime.

       Logging may temporarily be turned off for all log files at the same time with log_off.  It can be  turned
       back on with log_on.

RETURN VALUE

       log_open  and  log_add  return  a  log  file handle.  log_close returns -1 if the closing of any log file
       failed, 0 if all went well.

SEE ALSO

       publib(3), syslog(2)

AUTHOR

       Lars Wirzenius (lars.wirzenius@helsinki.fi)