mirror of
https://passt.top/passt
synced 2025-06-09 00:55:35 +02:00
log, conf: Add support for logging to file
In some environments, such as KubeVirt pods, we might not have a system logger available. We could choose to run in foreground, but this takes away the convenient synchronisation mechanism derived from forking to background when interfaces are ready. Add optional logging to file with -l/--log-file and --log-size. Unfortunately, this means we need to duplicate features that are more appropriately implemented by a system logger, such as rotation. Keep that reasonably simple, by using fallocate() with range collapsing where supported (Linux kernel >= 3.15, extent-based ext4 and XFS) and falling back to an unsophisticated block-by-block moving of entries toward the beginning of the file once we reach the (mandatory) size limit. While at it, clarify the role of LOG_EMERG in passt.c. Signed-off-by: Stefano Brivio <sbrivio@redhat.com> Reviewed-by: David Gibson <david@gibson.dropbear.id.au>
This commit is contained in:
parent
f4e1e88e1d
commit
01efc71ddd
7 changed files with 316 additions and 29 deletions
1
passt.c
1
passt.c
|
@ -220,6 +220,7 @@ int main(int argc, char **argv)
|
|||
|
||||
__openlog(log_name, 0, LOG_DAEMON);
|
||||
|
||||
/* Meaning we don't know yet: log everything. LOG_EMERG is unused */
|
||||
__setlogmask(LOG_MASK(LOG_EMERG));
|
||||
|
||||
c.epollfd = epoll_create1(EPOLL_CLOEXEC);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue