passt: Relicense to GPL 2.0, or any later version
In practical terms, passt doesn't benefit from the additional
protection offered by the AGPL over the GPL, because it's not
suitable to be executed over a computer network.
Further, restricting the distribution under the version 3 of the GPL
wouldn't provide any practical advantage either, as long as the passt
codebase is concerned, and might cause unnecessary compatibility
dilemmas.
Change licensing terms to the GNU General Public License Version 2,
or any later version, with written permission from all current and
past contributors, namely: myself, David Gibson, Laine Stump, Andrea
Bolognani, Paul Holzinger, Richard W.M. Jones, Chris Kuhn, Florian
Weimer, Giuseppe Scrivano, Stefan Hajnoczi, and Vasiliy Ulyanov.
Signed-off-by: Stefano Brivio <sbrivio@redhat.com>
2023-04-05 20:11:44 +02:00
|
|
|
/* SPDX-License-Identifier: GPL-2.0-or-later
|
2022-09-24 09:53:15 +02:00
|
|
|
* Copyright (c) 2022 Red Hat GmbH
|
|
|
|
* Author: Stefano Brivio <sbrivio@redhat.com>
|
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef LOG_H
|
|
|
|
#define LOG_H
|
|
|
|
|
2024-06-14 19:00:27 +02:00
|
|
|
#include <stdbool.h>
|
2023-10-13 06:50:28 +02:00
|
|
|
#include <syslog.h>
|
|
|
|
|
2022-10-06 14:51:04 +02:00
|
|
|
#define LOGFILE_SIZE_DEFAULT (1024 * 1024UL)
|
|
|
|
#define LOGFILE_CUT_RATIO 30 /* When full, cut ~30% size */
|
|
|
|
#define LOGFILE_SIZE_MIN (5UL * MAX(BUFSIZ, PAGE_SIZE))
|
|
|
|
|
2023-10-13 06:50:30 +02:00
|
|
|
void vlogmsg(int pri, const char *format, va_list ap);
|
2023-10-13 06:50:29 +02:00
|
|
|
void logmsg(int pri, const char *format, ...)
|
|
|
|
__attribute__((format(printf, 2, 3)));
|
2023-10-13 06:50:28 +02:00
|
|
|
|
|
|
|
#define err(...) logmsg(LOG_ERR, __VA_ARGS__)
|
|
|
|
#define warn(...) logmsg(LOG_WARNING, __VA_ARGS__)
|
|
|
|
#define info(...) logmsg(LOG_INFO, __VA_ARGS__)
|
|
|
|
#define debug(...) logmsg(LOG_DEBUG, __VA_ARGS__)
|
2022-09-24 09:53:15 +02:00
|
|
|
|
2023-02-27 04:06:19 +01:00
|
|
|
#define die(...) \
|
|
|
|
do { \
|
|
|
|
err(__VA_ARGS__); \
|
|
|
|
exit(EXIT_FAILURE); \
|
|
|
|
} while (0)
|
|
|
|
|
2022-09-24 09:53:15 +02:00
|
|
|
extern int log_trace;
|
2024-06-14 19:00:27 +02:00
|
|
|
extern bool log_conf_parsed;
|
|
|
|
|
2022-09-24 09:53:15 +02:00
|
|
|
void trace_init(int enable);
|
2022-10-12 17:31:37 +02:00
|
|
|
#define trace(...) \
|
2022-09-24 09:53:15 +02:00
|
|
|
do { \
|
|
|
|
if (log_trace) \
|
2022-10-12 17:31:37 +02:00
|
|
|
debug(__VA_ARGS__); \
|
2022-09-24 09:53:15 +02:00
|
|
|
} while (0)
|
|
|
|
|
|
|
|
void __openlog(const char *ident, int option, int facility);
|
2022-10-06 14:51:04 +02:00
|
|
|
void logfile_init(const char *name, const char *path, size_t size);
|
2022-09-24 09:53:15 +02:00
|
|
|
void passt_vsyslog(int pri, const char *format, va_list ap);
|
2022-10-06 14:51:04 +02:00
|
|
|
void logfile_write(int pri, const char *format, va_list ap);
|
2022-09-24 09:53:15 +02:00
|
|
|
void __setlogmask(int mask);
|
|
|
|
|
|
|
|
#endif /* LOG_H */
|