// SPDX-FileCopyrightText: 2025 UnionTech Software Technology Co., Ltd.
//
// SPDX-License-Identifier: GPL-3.0-or-later

#ifndef SYS_PLUGIN_LOG_H
#define SYS_PLUGIN_LOG_H

#include <systemd/sd-journal.h>

#include <stdlib.h> // for getenv

int is_debug_enabled();

#define log_debug(fmt, ...)                                  \
    do {                                                     \
        if (is_debug_enabled()) {                            \
            sd_journal_print(LOG_DEBUG, fmt, ##__VA_ARGS__); \
        }                                                    \
    } while (0)

#define log_info(fmt, ...)                                  \
	do {                                                     \
		sd_journal_print(LOG_INFO, fmt, ##__VA_ARGS__);  \
	} while (0)

#define log_warning(fmt, ...)                                  \
	do {                                                       \
		sd_journal_print(LOG_WARNING, fmt, ##__VA_ARGS__); \
	} while (0)

#define log_error(fmt, ...)                                  \
	do {                                                     \
		sd_journal_print(LOG_ERR, fmt, ##__VA_ARGS__);   \
	} while (0)

#endif // SYS_PLUGIN_LOG_H