odyssey/core/od_log.h

62 lines
1.2 KiB
C
Raw Normal View History

2016-11-07 11:29:49 +00:00
#ifndef OD_LOG_H_
#define OD_LOG_H_
/*
2016-11-08 11:18:58 +00:00
* odissey.
*
* PostgreSQL connection pooler and request router.
2016-11-07 11:29:49 +00:00
*/
2016-11-29 12:57:46 +00:00
typedef struct od_log_t od_log_t;
2016-11-07 11:29:49 +00:00
2016-11-29 12:57:46 +00:00
struct od_log_t {
int fd;
2016-12-26 13:12:14 +00:00
int verbosity;
od_pid_t *pid;
od_syslog_t *syslog;
2016-11-07 11:29:49 +00:00
};
2016-11-29 12:57:46 +00:00
int od_loginit(od_log_t*, od_pid_t*, od_syslog_t*);
int od_logopen(od_log_t*, char*);
int od_logclose(od_log_t*);
int od_logv(od_log_t*, od_syslogprio_t, mm_io_t, char*, char*, va_list);
2016-11-15 11:38:31 +00:00
static inline void
2016-12-26 13:12:14 +00:00
od_logset_verbosity(od_log_t *l, int level) {
l->verbosity = level;
}
2016-11-15 11:38:31 +00:00
static inline int
2016-12-20 09:35:09 +00:00
od_log(od_log_t *l, mm_io_t peer, char *fmt, ...)
2016-11-15 11:38:31 +00:00
{
va_list args;
va_start(args, fmt);
int rc = od_logv(l, OD_SYSLOG_INFO, peer, NULL, fmt, args);
2016-11-15 11:38:31 +00:00
va_end(args);
return rc;
}
static inline int
od_debug(od_log_t *l, mm_io_t peer, char *fmt, ...)
2016-11-15 11:38:31 +00:00
{
2016-12-26 13:12:14 +00:00
if (l->verbosity < 2)
return 0;
2016-11-15 11:38:31 +00:00
va_list args;
va_start(args, fmt);
2016-12-20 09:52:38 +00:00
int rc = od_logv(l, OD_SYSLOG_DEBUG, peer, "debug:", fmt, args);
2016-11-15 11:38:31 +00:00
va_end(args);
return rc;
}
static inline int
od_error(od_log_t *l, mm_io_t peer, char *fmt, ...)
2016-11-15 11:38:31 +00:00
{
va_list args;
va_start(args, fmt);
2016-12-20 09:52:38 +00:00
int rc = od_logv(l, OD_SYSLOG_ERROR, peer, "error:", fmt, args);
2016-11-15 11:38:31 +00:00
va_end(args);
return rc;
}
2016-11-07 11:29:49 +00:00
#endif