Blame src/libkeymap/keymap/logging.h

Packit Service 50ad14
/**
Packit Service 50ad14
 * @file logging.h
Packit Service 50ad14
 * @brief Functions for logging.
Packit Service 50ad14
 */
Packit Service 50ad14
#ifndef LK_LOGGING_H
Packit Service 50ad14
#define LK_LOGGING_H
Packit Service 50ad14
Packit Service 50ad14
#include <syslog.h>
Packit Service 50ad14
#include <keymap/context.h>
Packit Service 50ad14
Packit Service 50ad14
/**
Packit Service 50ad14
 * Logging function which uses @ref lk_ctx::log_fn "log_fn" and
Packit Service 50ad14
 * @ref lk_ctx::log_data "log_data" to write log messages.
Packit Service 50ad14
 * @param ctx is a keymap library context.
Packit Service 50ad14
 * @param priority indicates the priority.
Packit Service 50ad14
 */
Packit Service 50ad14
void lk_log(struct lk_ctx *ctx, int priority,
Packit Service 50ad14
            const char *file, int line, const char *fn,
Packit Service 50ad14
            const char *fmt, ...);
Packit Service 50ad14
Packit Service 50ad14
#define lk_log_cond(ctx, level, arg...)                                          \
Packit Service 50ad14
	do {                                                                     \
Packit Service 50ad14
		if (ctx->log_priority >= level)                                  \
Packit Service 50ad14
			lk_log(ctx, level, __FILE__, __LINE__, __func__, ##arg); \
Packit Service 50ad14
	} while (0)
Packit Service 50ad14
Packit Service 50ad14
/**
Packit Service 50ad14
 * Wrapper to output debug-level messages
Packit Service 50ad14
 * @param ctx is a keymap library context.
Packit Service 50ad14
 * @param arg is output message.
Packit Service 50ad14
 */
Packit Service 50ad14
#define DBG(ctx, arg...) lk_log_cond(ctx, LOG_DEBUG, ##arg)
Packit Service 50ad14
Packit Service 50ad14
/**
Packit Service 50ad14
 * Wrapper to output informational messages
Packit Service 50ad14
 * @param ctx is a keymap library context.
Packit Service 50ad14
 * @param arg is output message.
Packit Service 50ad14
 */
Packit Service 50ad14
#define INFO(ctx, arg...) lk_log_cond(ctx, LOG_INFO, ##arg)
Packit Service 50ad14
Packit Service 50ad14
/**
Packit Service 50ad14
 * Wrapper to output warning conditions
Packit Service 50ad14
 * @param ctx is a keymap library context.
Packit Service 50ad14
 * @param arg is output message.
Packit Service 50ad14
 */
Packit Service 50ad14
#define WARN(ctx, arg...) lk_log_cond(ctx, LOG_WARNING, ##arg)
Packit Service 50ad14
Packit Service 50ad14
/**
Packit Service 50ad14
 * Wrapper to output error conditions
Packit Service 50ad14
 * @param ctx is a keymap library context.
Packit Service 50ad14
 * @param arg is output message.
Packit Service 50ad14
 */
Packit Service 50ad14
#define ERR(ctx, arg...) lk_log_cond(ctx, LOG_ERR, ##arg)
Packit Service 50ad14
Packit Service 50ad14
#endif /* LK_LOGGING_H */