[libvirt] [PATCH] logging: pass binary name not logfile name when enabling logging
Daniel P. Berrangé
berrange at redhat.com
Thu Jul 18 14:53:32 UTC 2019
Ping
On Mon, Jul 08, 2019 at 03:13:09PM +0100, Daniel P. Berrangé wrote:
> Instead of having each caller pass in the desired logfile name, pass in
> the binary name instead. The logging code can then just derive a logfile
> name by appending ".log".
>
> Signed-off-by: Daniel P. Berrangé <berrange at redhat.com>
> ---
> src/locking/lock_daemon.c | 2 +-
> src/logging/log_daemon.c | 2 +-
> src/remote/remote_daemon.c | 2 +-
> src/util/virlog.c | 20 ++++++++++----------
> 4 files changed, 13 insertions(+), 13 deletions(-)
>
> diff --git a/src/locking/lock_daemon.c b/src/locking/lock_daemon.c
> index bc2fb4a7fb..7cdcd61722 100644
> --- a/src/locking/lock_daemon.c
> +++ b/src/locking/lock_daemon.c
> @@ -532,7 +532,7 @@ virLockDaemonSetupLogging(virLockDaemonConfigPtr config,
> /* Define the default output. This is only applied if there was no setting
> * from either the config or the environment.
> */
> - if (virLogSetDefaultOutput("virtlockd.log", godaemon, privileged) < 0)
> + if (virLogSetDefaultOutput("virtlockd", godaemon, privileged) < 0)
> return -1;
>
> if (virLogGetNbOutputs() == 0)
> diff --git a/src/logging/log_daemon.c b/src/logging/log_daemon.c
> index 014596b280..c8de7aa687 100644
> --- a/src/logging/log_daemon.c
> +++ b/src/logging/log_daemon.c
> @@ -467,7 +467,7 @@ virLogDaemonSetupLogging(virLogDaemonConfigPtr config,
> /* Define the default output. This is only applied if there was no setting
> * from either the config or the environment.
> */
> - if (virLogSetDefaultOutput("virtlogd.log", godaemon, privileged) < 0)
> + if (virLogSetDefaultOutput("virtlogd", godaemon, privileged) < 0)
> return -1;
>
> if (virLogGetNbOutputs() == 0)
> diff --git a/src/remote/remote_daemon.c b/src/remote/remote_daemon.c
> index fdc9e4333a..ffdd3b84ad 100644
> --- a/src/remote/remote_daemon.c
> +++ b/src/remote/remote_daemon.c
> @@ -610,7 +610,7 @@ daemonSetupLogging(struct daemonConfig *config,
> /* Define the default output. This is only applied if there was no setting
> * from either the config or the environment.
> */
> - if (virLogSetDefaultOutput("libvirtd.log", godaemon, privileged) < 0)
> + if (virLogSetDefaultOutput("libvirtd", godaemon, privileged) < 0)
> return -1;
>
> if (virLogGetNbOutputs() == 0)
> diff --git a/src/util/virlog.c b/src/util/virlog.c
> index 248ce19902..da433878df 100644
> --- a/src/util/virlog.c
> +++ b/src/util/virlog.c
> @@ -175,7 +175,7 @@ virLogSetDefaultOutputToJournald(void)
>
>
> static int
> -virLogSetDefaultOutputToFile(const char *filename, bool privileged)
> +virLogSetDefaultOutputToFile(const char *binary, bool privileged)
> {
> int ret = -1;
> char *logdir = NULL;
> @@ -183,8 +183,8 @@ virLogSetDefaultOutputToFile(const char *filename, bool privileged)
>
> if (privileged) {
> if (virAsprintf(&virLogDefaultOutput,
> - "%d:file:%s/log/libvirt/%s", virLogDefaultPriority,
> - LOCALSTATEDIR, filename) < 0)
> + "%d:file:%s/log/libvirt/%s.log", virLogDefaultPriority,
> + LOCALSTATEDIR, binary) < 0)
> goto cleanup;
> } else {
> if (!(logdir = virGetUserCacheDirectory()))
> @@ -197,8 +197,8 @@ virLogSetDefaultOutputToFile(const char *filename, bool privileged)
> }
> umask(old_umask);
>
> - if (virAsprintf(&virLogDefaultOutput, "%d:file:%s/%s",
> - virLogDefaultPriority, logdir, filename) < 0)
> + if (virAsprintf(&virLogDefaultOutput, "%d:file:%s/%s.log",
> + virLogDefaultPriority, logdir, binary) < 0)
> goto cleanup;
> }
>
> @@ -211,19 +211,19 @@ virLogSetDefaultOutputToFile(const char *filename, bool privileged)
>
> /*
> * virLogSetDefaultOutput:
> - * @filename: the file that the output should be redirected to (only needed
> - * when @godaemon equals true
> + * @binary: the binary for which logging is performed. The log file name
> + * will be derived from the binary name, with ".log" appended.
> * @godaemon: whether we're running daemonized
> * @privileged: whether we're running with root privileges or not (session)
> *
> * Decides on what the default output (journald, file, stderr) should be
> - * according to @filename, @godaemon, @privileged. This function should be run
> + * according to @binary, @godaemon, @privileged. This function should be run
> * exactly once at daemon startup, so no locks are used.
> *
> * Returns 0 on success, -1 in case of a failure.
> */
> int
> -virLogSetDefaultOutput(const char *filename, bool godaemon, bool privileged)
> +virLogSetDefaultOutput(const char *binary, bool godaemon, bool privileged)
> {
> bool have_journald = access("/run/systemd/journal/socket", W_OK) >= 0;
>
> @@ -237,7 +237,7 @@ virLogSetDefaultOutput(const char *filename, bool godaemon, bool privileged)
> return virLogSetDefaultOutputToStderr();
> }
>
> - return virLogSetDefaultOutputToFile(filename, privileged);
> + return virLogSetDefaultOutputToFile(binary, privileged);
> }
>
>
> --
> 2.21.0
>
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
More information about the libvir-list
mailing list