mirror of
https://gitlab.freedesktop.org/libinput/libei.git
synced 2026-02-21 09:50:34 +01:00
Add a prefix to the logger
Makes it easier to distinguish between ei and eis when everything in the tests is just printed to stderr anyway. Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
This commit is contained in:
parent
6f75463261
commit
fb707a3395
5 changed files with 19 additions and 14 deletions
|
|
@ -143,7 +143,7 @@ ei_new(void *user_data)
|
|||
list_init(&ei->event_queue);
|
||||
list_init(&ei->devices);
|
||||
|
||||
ei->logger = logger_new(ei);
|
||||
ei->logger = logger_new("ei", ei);
|
||||
logger_set_priority(ei->logger, LOGGER_DEBUG);
|
||||
ei->sink = sink_new();
|
||||
if (!ei->sink)
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ eis_new(void *user_data)
|
|||
list_init(&eis->clients);
|
||||
list_init(&eis->event_queue);
|
||||
|
||||
eis->logger = logger_new(eis);
|
||||
eis->logger = logger_new("eis", eis);
|
||||
logger_set_priority(eis->logger, LOGGER_DEBUG);
|
||||
eis->sink = sink_new();
|
||||
if (!eis->sink)
|
||||
|
|
|
|||
|
|
@ -25,6 +25,7 @@
|
|||
|
||||
#include <stdbool.h>
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
||||
#include "util-logger.h"
|
||||
#include "util-object.h"
|
||||
|
|
@ -34,25 +35,27 @@ struct logger {
|
|||
enum logger_priority priority;
|
||||
logger_log_func_t handler;
|
||||
void *user_data;
|
||||
char *prefix;
|
||||
};
|
||||
|
||||
_printf_(3, 0)
|
||||
_printf_(4, 0)
|
||||
static void
|
||||
logger_default_log_func(struct logger *logger,
|
||||
const char *prefix,
|
||||
enum logger_priority priority,
|
||||
const char *format, va_list args)
|
||||
{
|
||||
const char *prefix;
|
||||
const char *msgtype;
|
||||
|
||||
switch(priority) {
|
||||
case LOGGER_DEBUG: prefix = "debug"; break;
|
||||
case LOGGER_INFO: prefix = "info"; break;
|
||||
case LOGGER_WARN: prefix = "warn"; break;
|
||||
case LOGGER_ERROR: prefix = "error"; break;
|
||||
case LOGGER_DEBUG: msgtype = "debug"; break;
|
||||
case LOGGER_INFO: msgtype = "info"; break;
|
||||
case LOGGER_WARN: msgtype = "warn"; break;
|
||||
case LOGGER_ERROR: msgtype = "error"; break;
|
||||
default: prefix="<invalid priority>"; break;
|
||||
}
|
||||
|
||||
fprintf(stderr, "%s: ", prefix);
|
||||
fprintf(stderr, "%s: %s: ", prefix, msgtype);
|
||||
vfprintf(stderr, format, args);
|
||||
}
|
||||
|
||||
|
|
@ -63,7 +66,7 @@ log_msg_va(struct logger *logger,
|
|||
va_list args)
|
||||
{
|
||||
if (logger->handler && logger->priority <= priority)
|
||||
logger->handler(logger, priority, format, args);
|
||||
logger->handler(logger, logger->prefix, priority, format, args);
|
||||
}
|
||||
|
||||
void
|
||||
|
|
@ -81,7 +84,7 @@ log_msg(struct logger *logger,
|
|||
static void
|
||||
logger_destroy(struct logger* logger)
|
||||
{
|
||||
/* nothing to do */
|
||||
free(logger->prefix);
|
||||
}
|
||||
|
||||
OBJECT_IMPLEMENT_CREATE(logger);
|
||||
|
|
@ -93,9 +96,10 @@ OBJECT_IMPLEMENT_GETTER(logger, user_data, void *);
|
|||
OBJECT_IMPLEMENT_SETTER(logger, handler, logger_log_func_t);
|
||||
|
||||
struct logger *
|
||||
logger_new(void *user_data)
|
||||
logger_new(const char *prefix, void *user_data)
|
||||
{
|
||||
struct logger *logger = logger_create(NULL);
|
||||
logger->prefix = prefix ? strdup(prefix) : NULL;
|
||||
logger->user_data = user_data;
|
||||
logger->priority = LOGGER_WARN;
|
||||
logger->handler = logger_default_log_func;
|
||||
|
|
|
|||
|
|
@ -39,6 +39,7 @@ enum logger_priority {
|
|||
};
|
||||
|
||||
typedef void (*logger_log_func_t)(struct logger *libinput,
|
||||
const char *prefix,
|
||||
enum logger_priority priority,
|
||||
const char *format, va_list args);
|
||||
|
||||
|
|
@ -64,7 +65,7 @@ log_msg_va(struct logger *logger,
|
|||
log_msg((T_)->logger, LOGGER_ERROR, __VA_ARGS__)
|
||||
|
||||
struct logger *
|
||||
logger_new(void *user_data);
|
||||
logger_new(const char *prefix, void *user_data);
|
||||
|
||||
struct logger *
|
||||
logger_unref(struct logger *logger);
|
||||
|
|
|
|||
|
|
@ -88,7 +88,7 @@ peck_new(void)
|
|||
peck->eis = eis;
|
||||
peck->eis_behavior = PECK_EIS_BEHAVIOR_NONE;
|
||||
|
||||
peck->logger = logger_new(NULL);
|
||||
peck->logger = logger_new("peck", NULL);
|
||||
logger_set_priority(peck->logger, LOGGER_DEBUG);
|
||||
|
||||
return peck;
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue