59 lines
1.8 KiB
Text
59 lines
1.8 KiB
Text
Log - Message logging API
|
|
=========================
|
|
|
|
This interface is designed in such way that code that wants to log a massage can do so with one call and don't worry
|
|
about where it may turn up and what format it should use etc. +
|
|
All this is setup trough one function call idealy in the beginning of a process.
|
|
|
|
Macros
|
|
------
|
|
|
|
`LOG_INFO`::
|
|
Information, Someone thinks you may find this important.
|
|
|
|
`LOG_WARN`::
|
|
Warning, just a warning. can be ignored if you simply just don't care about it.
|
|
|
|
`LOG_CRIT`::
|
|
Critical condition, some things may not work as supposed to.
|
|
|
|
`LOG_DEBUG`::
|
|
Debug level, messages that is usefull when debugging.
|
|
|
|
`LOG_ALL`::
|
|
All of the above.
|
|
|
|
Functions
|
|
---------
|
|
|
|
`init_log()`::
|
|
Initialize the logging functionality, 'level' is a bitmask of the LOG_* contansts defining what types of messages should be logged. +
|
|
if 'path' is a writeable directory, output will be written to files in that directory otherwise `stderr` is used.
|
|
+
|
|
----
|
|
init_log(LOG_INFO | LOG_WARN, NULL);
|
|
----
|
|
+
|
|
Will log info and warning messages to `stderr`.
|
|
|
|
`logstrtolvl()`::
|
|
returns the LOG_* equivalent of a string representation.
|
|
|
|
`loglvltostr()`::
|
|
returns the string representation of a LOG_* constant.
|
|
|
|
`logmsg()`::
|
|
logs a message, 'level' should be a LOG_* constant for what level the message is for. +
|
|
the rest of the arguments is a variable argument list and behaves like `printf()`
|
|
+
|
|
----
|
|
logmsg(LOG_INFO, "this is an integer: %i", 12);
|
|
logmsg(LOG_INFO, "this is just a message");
|
|
----
|
|
+
|
|
|
|
NOTE: No newline at the end of the message is needed.
|
|
|
|
`logerrno`::
|
|
like `perror()`, logs an message by the 'errno' number. +
|
|
if 'prefix' is not `NULL` and points to a string that is not zero length, the message will be prepended whit 'prefix' followed by a colon and a space.
|