krb5_initlog krb5_openlog krb5_closelog krb5_addlog_dest krb5_addlog_func krb5_log krb5_vlog krb5_log_msg krb5_vlog_msg - Heimdal logging functions
Kerberos 5 Library (libkrb5, -lkrb5)
The
krb5_openlog ();
function creates a logging
Fa facility ,
that is used to log messages. A facility consists of one or more
destinations (which can be files or syslog or some other device). The
Fa program
parameter should be the generic name of the program that is doing the
logging. This name is used to lookup which destinations to use. This
information is contained in the
logging
section of the
krb5.conf
configuration file. If no entry is found for
Fa program ,
the entry for
default
is used, or if that is missing too,
SYSLOG
will be used as destination.
To close a logging facility, use the
krb5_closelog ();
function.
To log a message to a facility use one of the functions
krb5_log (,);
krb5_log_msg (,);
krb5_vlog (,);
or
krb5_vlog_msg (.);
The functions ending in
_msg
return in
Fa reply
a pointer to the message that just got logged. This string is allocated,
and should be freed with
free (.);
The
Fa format
is a standard
printf ();
style format string (but see the BUGS section).
If you want better control of where things gets logged, you can instead of using
krb5_openlog ();
call
krb5_initlog (,);
which just initializes a facility, but doesn't define any actual logging
destinations. You can then add destinations with the
krb5_addlog_dest ();
and
krb5_addlog_func ();
functions. The first of these takes a string specifying a logging
destination, and adds this to the facility. If you want to do some
non-standard logging you can use the
krb5_addlog_func ();
function, which takes a function to use when logging.
The
Fa log
function is called for each message with
Fa time
being a string specifying the current time, and
Fa message
the message to log.
Fa close
is called when the facility is closed. You can pass application specific data in the
Fa data
parameter. The
Fa min
and
Fa max
parameter are the same as in a destination (defined below). To specify a
max of infinity, pass -1.
krb5_openlog ();
calls
krb5_initlog ();
and then calls
krb5_addlog_dest ();
for each destination found.
Each destination may optionally be prepended with a range of logging
levels, specified as
min-max/
If the
Fa level
parameter to
krb5_log ();
is within this range (inclusive) the message gets logged to this
destination, otherwise not. Either of the min and max valued may be
omitted, in this case min is assumed to be zero, and max is assumed to be
infinity. If you don't include a dash, both min and max gets set to the
specified value. If no range is specified, all messages gets logged.
[logging] kdc = 0/FILE:/var/log/kdc.log kdc = 1-/SYSLOG:INFO:USER default = STDERR
This will log all messages from the kdc program with level 0 to /var/log/kdc.log other messages will be logged to syslog with priority LOG_INFO and facility LOG_USER All other programs will log all messages to their stderr.
If logging is done to the syslog facility, these functions might not be
thread-safe, depending on the implementation of
openlog (,);
and
syslog (.);
Закладки на сайте Проследить за страницей |
Created 1996-2024 by Maxim Chirkov Добавить, Поддержать, Вебмастеру |