35 lines
694 B
C
35 lines
694 B
C
|
/*
|
||
|
* Copyright (c) 2021 Martin Wilck, SUSE LLC
|
||
|
* SPDX-License-Identifier: LGPL-2.1-or-newer
|
||
|
*/
|
||
|
#ifndef _LOG_H
|
||
|
#define _LOG_H
|
||
|
|
||
|
#ifndef MAX_LOGLEVEL
|
||
|
# define MAX_LOGLEVEL LOG_DEBUG
|
||
|
#endif
|
||
|
#ifndef DEFAULT_LOGLEVEL
|
||
|
# define DEFAULT_LOGLEVEL LOG_NOTICE
|
||
|
#endif
|
||
|
|
||
|
#if (LOG_FUNCNAME == 1)
|
||
|
#define _log_func __func__
|
||
|
#else
|
||
|
#define _log_func NULL
|
||
|
#endif
|
||
|
|
||
|
extern int log_level;
|
||
|
extern bool log_timestamp;
|
||
|
extern bool log_pid;
|
||
|
|
||
|
void __attribute__((format(printf, 3, 4)))
|
||
|
__msg(int lvl, const char *func, const char *format, ...);
|
||
|
|
||
|
#define msg(lvl, format, ...) \
|
||
|
do { \
|
||
|
if ((lvl) <= MAX_LOGLEVEL) \
|
||
|
__msg(lvl, _log_func, format, ##__VA_ARGS__); \
|
||
|
} while (0)
|
||
|
|
||
|
#endif /* _LOG_H */
|