![]() |
LIRC libraries
LinuxInfraredRemoteControl
|
Logging functionality. More...
#include <syslog.h>#include <sys/time.h>#include <stdio.h>#include <unistd.h>Go to the source code of this file.
Macros | |
| #define | LIRC_MAX_LOGLEVEL LIRC_TRACE2 |
| #define | LIRC_MIN_LOGLEVEL LIRC_ERROR |
| #define | DEFAULT_LOGLEVEL LIRC_INFO |
| #define | logmax(l) (l > LIRC_DEBUG ? LIRC_DEBUG : l ) |
| #define | LOGPRINTF(level, fmt, args...) if (level + 7 <= loglevel ) logprintf(logmax(level + 7), fmt, ## args) |
| #define | LOGPERROR(level, s) if (level + 7 <= loglevel ) logperror(logmax(level + 7), s) |
| #define | lirc_log_is_enabled_for(level) (level <= loglevel) |
| #define | STRINGIFY(x) #x |
| #define | STR(x) STRINGIFY(x) |
| #define | chk_write(fd, buf, count) do_chk_write(fd, buf, count, STR(__FILE__) ":" STR(__LINE__)) |
| #define | chk_read(fd, buf, count) do_chk_read(fd, buf, count, STR(__FILE__) ":" STR(__LINE__)) |
Enumerations | |
| enum | loglevel_t { LIRC_TRACE2 = 10, LIRC_TRACE1 = 9, LIRC_TRACE = 8, LIRC_DEBUG = LOG_DEBUG, LIRC_INFO = LOG_INFO, LIRC_NOTICE = LOG_NOTICE, LIRC_WARNING = LOG_WARNING, LIRC_ERROR = LOG_ERR, LIRC_NOLOG = 0, LIRC_BADLEVEL = -1 } |
Functions | |
| loglevel_t | string2loglevel (const char *level) |
| int | lirc_log_setlevel (loglevel_t level) |
| loglevel_t | lirc_log_defaultlevel (void) |
| int | lirc_log_use_syslog () |
| void | logprintf (loglevel_t prio, const char *format_str,...) |
| void | logperror (loglevel_t prio, const char *format,...) |
| int | lirc_log_reopen (void) |
| int | lirc_log_open (const char *progname, int _nodaemon, loglevel_t level) |
| int | lirc_log_close () |
| void | lirc_log_set_file (const char *s) |
| int | lirc_log_get_clientlog (const char *basename, char *buffer, ssize_t size) |
| void | hexdump (char *prefix, unsigned char *buf, int len) |
Variables | |
| loglevel_t | loglevel |
| char | progname [128] |
Logging functionality.
Definition in file lirc_log.h.
Wrapper for read(2) which logs errors.
Definition at line 163 of file lirc_log.h.
Wrapper for write(2) which logs errors.
Definition at line 158 of file lirc_log.h.
| #define DEFAULT_LOGLEVEL LIRC_INFO |
Default loglevel (last resort).
Definition at line 63 of file lirc_log.h.
| #define lirc_log_is_enabled_for | ( | level | ) | (level <= loglevel) |
Check if a given, standard loglevel should be printed.
Definition at line 101 of file lirc_log.h.
| #define LIRC_MAX_LOGLEVEL LIRC_TRACE2 |
Max loglevel (for validation).
Definition at line 51 of file lirc_log.h.
| #define LIRC_MIN_LOGLEVEL LIRC_ERROR |
Mix loglevel (for validation).
Definition at line 54 of file lirc_log.h.
| #define logmax | ( | l | ) | (l > LIRC_DEBUG ? LIRC_DEBUG : l ) |
Max level logged in actual logfile.
Definition at line 69 of file lirc_log.h.
Compatibility perror(3) wrapper Accepts level 1..3 which are mapped to LIRC_TRACE..LIRC_TRACE2.
Definition at line 83 of file lirc_log.h.
| #define LOGPRINTF | ( | level, | |
| fmt, | |||
| args... | |||
| ) | if (level + 7 <= loglevel ) logprintf(logmax(level + 7), fmt, ## args) |
Compatibility log message stuff.. Accepts level 1..3 which are mapped to LIRC_TRACE..LIRC_TRACE2.
Definition at line 76 of file lirc_log.h.
| #define STR | ( | x | ) | STRINGIFY(x) |
Return x in (double) quotes.
Definition at line 155 of file lirc_log.h.
| #define STRINGIFY | ( | x | ) | #x |
Helper macro for STR().
Definition at line 152 of file lirc_log.h.
| enum loglevel_t |
The defined loglevels. LIRC_TRACE..LIRC_TRACE2 is mapped to LIRC_DEBUG in outputted messages, but generates more messages than DEBUG.
Definition at line 37 of file lirc_log.h.
| void hexdump | ( | char * | prefix, |
| unsigned char * | buf, | ||
| int | len | ||
| ) |
Print prefix + a hex dump of len bytes starting at *buf.
Definition at line 323 of file lirc_log.c.
| int lirc_log_close | ( | ) |
Close the log previosly opened with lirc_log_open().
Definition at line 110 of file lirc_log.c.
| loglevel_t lirc_log_defaultlevel | ( | void | ) |
Get the default level, from environment or hardcoded.
Definition at line 192 of file lirc_log.c.
| int lirc_log_get_clientlog | ( | const char * | basename, |
| char * | buffer, | ||
| ssize_t | size | ||
| ) |
Retrieve a client path for logging according to freedesktop specs.
| basename | Basename for the logfile. |
| buff | Buffer to store result in. |
| size | Size of buffer |
Definition at line 302 of file lirc_log.c.
| int lirc_log_open | ( | const char * | progname, |
| int | _nodaemon, | ||
| loglevel_t | level | ||
| ) |
Open the log for upcoming logging
| progname | Name of application, made available in global progname |
| nodaemon | If true, program runs in foreground and logging is on also on stdout. |
| level | The lowest level of messages to actually be logged. |
Definition at line 84 of file lirc_log.c.
| void lirc_log_set_file | ( | const char * | s | ) |
Set logfile. Either a regular path or the string 'syslog'; the latter does indeed use syslog(1) instead. Must be called before lirc_log_open().
Definition at line 73 of file lirc_log.c.
| int lirc_log_setlevel | ( | loglevel_t | level | ) |
Set the level. Returns 1 if ok, 0 on errors.
Definition at line 152 of file lirc_log.c.
| int lirc_log_use_syslog | ( | ) |
Check if log is set up to use syslog or not.
Definition at line 67 of file lirc_log.c.
| void logperror | ( | loglevel_t | prio, |
| const char * | fmt, | ||
| ... | |||
| ) |
Log current kernel error with a given level.
Prints a description of the last error to the log.
| prio | Priority of log request. |
| fmt | printf-style format string |
Definition at line 279 of file lirc_log.c.
| void logprintf | ( | loglevel_t | prio, |
| const char * | format_str, | ||
| ... | |||
| ) |
Write a message to log.
| prio | Level of message |
| format_str,... | printf-style string. |
Prints the log request to the log, if the priority fits.
| prio | Priority of log request |
| format_str | Format string in the usual C sense. |
| ... | Additional vararg parameters. |
Definition at line 233 of file lirc_log.c.
| loglevel_t string2loglevel | ( | const char * | level | ) |
Convert a string, either a number or 'info', 'trace1', error etc. to a loglevel.
Definition at line 207 of file lirc_log.c.
| loglevel_t loglevel |
The actual loglevel. Should not be changed directly by external code.
Definition at line 38 of file lirc_log.c.