From 08700a9eb50144b317299980e86aa36c646c6b8a Mon Sep 17 00:00:00 2001 From: Pauli Virtanen Date: Sat, 14 Dec 2024 13:34:27 +0200 Subject: [PATCH] pipewire: use local real time timestamps in logging Wireplumber and other system services use local real time timestamps in logging, so it's more convenient if also PW uses them. Add env var for selecting the timestamp type, default to "local". --- doc/dox/programs/pipewire.1.md | 4 ++++ src/pipewire/pipewire.c | 5 ++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/doc/dox/programs/pipewire.1.md b/doc/dox/programs/pipewire.1.md index aaf089e4f..43f03e3f1 100644 --- a/doc/dox/programs/pipewire.1.md +++ b/doc/dox/programs/pipewire.1.md @@ -154,6 +154,10 @@ systemd. @PAR@ pipewire-env PIPEWIRE_LOG_LINE Enables the logging of line numbers. Default true. +@PAR@ pipewire-env PIPEWIRE_LOG_TIMESTAMP +Logging timestamp type: "local", "monotonic", "realtime", "none". +Default "local". + @PAR@ pipewire-env PIPEWIRE_LOG Specifies a log file to use instead of the default logger. diff --git a/src/pipewire/pipewire.c b/src/pipewire/pipewire.c index 74545d619..4451fa525 100644 --- a/src/pipewire/pipewire.c +++ b/src/pipewire/pipewire.c @@ -533,7 +533,10 @@ void pw_init(int *argc, char **argv[]) str = "true"; items[n_items++] = SPA_DICT_ITEM_INIT(SPA_KEY_LOG_COLORS, str); } - items[n_items++] = SPA_DICT_ITEM_INIT(SPA_KEY_LOG_TIMESTAMP, "true"); + if ((str = getenv("PIPEWIRE_LOG_TIMESTAMP")) != NULL) + items[n_items++] = SPA_DICT_ITEM_INIT(SPA_KEY_LOG_TIMESTAMP, str); + else + items[n_items++] = SPA_DICT_ITEM_INIT(SPA_KEY_LOG_TIMESTAMP, "local"); if ((str = getenv("PIPEWIRE_LOG_LINE")) == NULL || spa_atob(str)) items[n_items++] = SPA_DICT_ITEM_INIT(SPA_KEY_LOG_LINE, "true"); snprintf(level, sizeof(level), "%d", pw_log_level);