udebug: add ulog support
Make ulog able to also log via udebug. Signed-off-by: John Crispin <john@phrozen.org> Signed-off-by: Felix Fietkau <nbd@nbd.name>
This commit is contained in:
parent
b77f2a4ce9
commit
260ad5bd15
2 changed files with 17 additions and 0 deletions
14
ulog.c
14
ulog.c
|
@ -29,6 +29,7 @@ static int _ulog_facility = -1;
|
||||||
static int _ulog_threshold = LOG_DEBUG;
|
static int _ulog_threshold = LOG_DEBUG;
|
||||||
static int _ulog_initialized = 0;
|
static int _ulog_initialized = 0;
|
||||||
static const char *_ulog_ident = NULL;
|
static const char *_ulog_ident = NULL;
|
||||||
|
static struct udebug_buf *udb = NULL;
|
||||||
|
|
||||||
static const char *ulog_default_ident(void)
|
static const char *ulog_default_ident(void)
|
||||||
{
|
{
|
||||||
|
@ -120,6 +121,11 @@ static void ulog_syslog(int priority, const char *fmt, va_list ap)
|
||||||
vsyslog(priority, fmt, ap);
|
vsyslog(priority, fmt, ap);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ulog_udebug(struct udebug_buf *_udb)
|
||||||
|
{
|
||||||
|
udb = _udb;
|
||||||
|
}
|
||||||
|
|
||||||
void ulog_open(int channels, int facility, const char *ident)
|
void ulog_open(int channels, int facility, const char *ident)
|
||||||
{
|
{
|
||||||
ulog_close();
|
ulog_close();
|
||||||
|
@ -149,6 +155,14 @@ void ulog(int priority, const char *fmt, ...)
|
||||||
{
|
{
|
||||||
va_list ap;
|
va_list ap;
|
||||||
|
|
||||||
|
if (udb) {
|
||||||
|
va_start(ap, fmt);
|
||||||
|
udebug_entry_init(udb);
|
||||||
|
udebug_entry_vprintf(udb, fmt, ap);
|
||||||
|
udebug_entry_add(udb);
|
||||||
|
va_end(ap);
|
||||||
|
}
|
||||||
|
|
||||||
if (priority > _ulog_threshold)
|
if (priority > _ulog_threshold)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
|
3
ulog.h
3
ulog.h
|
@ -21,6 +21,8 @@
|
||||||
|
|
||||||
#include <syslog.h>
|
#include <syslog.h>
|
||||||
|
|
||||||
|
#include "udebug.h"
|
||||||
|
|
||||||
enum {
|
enum {
|
||||||
ULOG_KMSG = (1 << 0),
|
ULOG_KMSG = (1 << 0),
|
||||||
ULOG_SYSLOG = (1 << 1),
|
ULOG_SYSLOG = (1 << 1),
|
||||||
|
@ -28,6 +30,7 @@ enum {
|
||||||
};
|
};
|
||||||
|
|
||||||
void ulog_open(int channels, int facility, const char *ident);
|
void ulog_open(int channels, int facility, const char *ident);
|
||||||
|
void ulog_udebug(struct udebug_buf *udb);
|
||||||
void ulog_close(void);
|
void ulog_close(void);
|
||||||
|
|
||||||
void ulog_threshold(int threshold);
|
void ulog_threshold(int threshold);
|
||||||
|
|
Loading…
Reference in a new issue