Subject: [bug#71118] [PATCH 3/5] services: dbus: Log to stderr rather than syslog.

From: Maxim Cournoyer <[email-masked]>
Date: Wed, 22 May 2024 13:30:04 -0400

Hello,

Ludovic Courtès <[email-masked]> writes:

> * gnu/services/dbus.scm (dbus-shepherd-service): Remove ‘--syslog-only’
> option and pass #:log-file unconditionally.
>
> Change-Id: I9e42f241e08b95ff01e9ad69551bc2c7ce869d6d
> ---
>  gnu/services/dbus.scm | 8 ++++----
>  1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/gnu/services/dbus.scm b/gnu/services/dbus.scm
> index 8dee91a3f7b..1e1380185a4 100644
> --- a/gnu/services/dbus.scm
> +++ b/gnu/services/dbus.scm
> @@ -1,5 +1,5 @@
>  ;;; GNU Guix --- Functional package management for GNU
> -;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2019, 2020, 2021 Ludovic Courtès <[email-masked]>
> +;;; Copyright © 2013-2017, 2019-2021, 2024 Ludovic Courtès <[email-masked]>
>  ;;; Copyright © 2015 Sou Bunnbu <[email-masked]>
>  ;;; Copyright © 2021 Maxime Devos <[email-masked]>
>  ;;; Copyright © 2021 Brice Waegeneire <[email-masked]>
> @@ -234,12 +234,12 @@ (define dbus-shepherd-service
>              (requirement '(user-processes syslogd))
>              (start #~(make-forkexec-constructor
>                        (list (string-append #$dbus "/bin/dbus-daemon")
> -                            "--nofork" "--system" "--syslog-only")
> +                            "--nofork" "--system")
> +                      #:log-file "/var/log/dbus-daemon.log"
>                        #$@(if verbose?
>                               ;; Since the verbose output goes to the console,
>                               ;; not syslog, add a log file to capture it.
> -                             '(#:environment-variables '("DBUS_VERBOSE=1")
> -                               #:log-file "/var/log/dbus-daemon.log")
> +                             '(#:environment-variables '("DBUS_VERBOSE=1"))
>                               '())
>                        #:pid-file "/run/dbus/pid"))
>              (stop #~(make-kill-destructor)))))))

How does logging to a file instead of to /dev/log help Shepherd
producing better output?  Does it read the log file?  If so, couldn't it read
syslog as well?

-- 
Thanks,
Maxim