Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
LOG(3)			     C Programmer's Manual			LOG(3)

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 sev-
       eral log	files open at the same time (up	to 256,	but limits on the num-
       ber  of	concurrently open files	may set	a lower	limit).	 Each log mes-
       sage 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 as-
       sociated	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 func-
       tions.  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)

Publib			     C Programmer's Manual			LOG(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=log&sektion=3&manpath=FreeBSD+Ports+14.3.quarterly>

home | help