deployd/server/include/log.h
Arija A. d878187ccd
Begin work on client
Signed-off-by: Arija A. <ari@ari.lt>
2025-07-24 02:38:50 +03:00

50 lines
1.4 KiB
C

#ifndef DEPLOYD_LOGGING_H_
#define DEPLOYD_LOGGING_H_
#include <stdio.h>
#include "conf.h"
#include "def.h"
typedef enum {
DP_LOG_DEBUG = 0,
DP_LOG_INFO,
DP_LOG_WARN,
DP_LOG_ERROR,
DP_LOG_FATAL,
} dp_LogLevel;
typedef struct {
const char *_target;
dp_LogLevel _min_level;
FILE *_file;
} dp_Logger;
void dp_err(dp_Logger *logger,
dp_LogLevel level,
const char *who,
const char *msg);
void dp_log(dp_Logger *logger,
dp_LogLevel level,
const char *who,
const char *msg);
void dp_logf(dp_Logger *logger,
dp_LogLevel level,
const char *who,
const char *fmt,
...) __attribute__((format(printf, 4, 5)));
void dp_log_flush(dp_Logger *logger);
void dp_log_set_target(dp_Logger *logger, const char *target);
void dp_log_inherit(dp_Logger *src, dp_Logger *dest);
void dp_log_set_level(dp_Logger *logger, dp_LogLevel level);
bool dp_log_set_file(dp_Logger *logger, const char *file, const char *modes);
void dp_log_close_file(dp_Logger *logger);
#define dp_erh(logger, msg) dp_err((logger), DP_LOG_ERROR, __func__, (msg))
#define dp_fah(logger, msg) dp_err((logger), DP_LOG_FATAL, __func__, (msg))
#define dp_loh(logger, level, msg) dp_log((logger), (level), __func__, (msg))
#define dp_lohf(logger, level, fmt, ...) \
dp_logf((logger), (level), __func__, (fmt), __VA_ARGS__)
#endif /* DEPLOYD_LOGGING_H_ */