[libvirt] [PATCH] Imprint all logs with version + package build information
Eric Blake
eblake at redhat.com
Wed Feb 2 16:43:28 UTC 2011
On 02/02/2011 05:18 AM, Daniel P. Berrange wrote:
> The logging functions are enhanced so that immediately prior to
> the first log message being printed to any output channel, the
> libvirt package version will be printed.
git send-email --subject-prefix=PATCHv2 is a neat trick, as is
summarizing the difference from v1. I don't have the gnulib version-etc
module licensing issue sorted yet, but now that your ./configure options
match those of gnulib, I'm happier with it; and I'd rather see this go
in sooner than later (we can tweak it later to take advantage of gnulib,
if gnulib improves).
> The 'configure' script gains two new arguments which can be
> used as
>
> --with-packager="Fedora Project, x86-01.phx2.fedoraproject.org, 01-27-2011-18:00:10"
> --with-packager-version="1.fc14"
Confirm that this matches coreutils' ./configure option.
> +++ b/libvirt.spec.in
> @@ -592,6 +592,13 @@ of recent versions of Linux (and other OSes).
> %define _without_dtrace --without-dtrace
> %endif
>
> +%define when %(date +"%%m-%%d-%%Y-%%H:%%M:%%S")
That's US-centric. Can't we instead go with ISO format of year first,
to avoid the ambiguities of US vs Europe on the first 12 days of a given
month? And, since the .spec file runs on a system where we are
guaranteed that date is POSIX-compliant, we can use the shorter:
%(date +"%%F-%%T")
> @@ -578,12 +620,31 @@ void virLogMessage(const char *category, int priority, const char *funcname,
> virLogStr(msg, len);
> virLogLock();
> for (i = 0; i < virLogNbOutputs;i++) {
> - if (priority >= virLogOutputs[i].priority)
> + if (priority >= virLogOutputs[i].priority) {
> + if (virLogOutputs[i].logVersion) {
> + char *ver = NULL;
> + if (virLogVersionString(&ver, &time_info, &cur_time) >= 0)
> + virLogOutputs[i].f(category, priority, __func__, __LINE__,
> + ver, strlen(ver),
> + virLogOutputs[i].data);
This says the version string is logged at the same priority as the first
call to virLogMessage; shouldn't it instead be a fixed priority?
> + VIR_FREE(ver);
> + virLogOutputs[i].logVersion = false;
And if you switch to a fixed priority, should setting
virLogOutputs[i].logVersion to false be dependent on whether the
callback function virLogOutputs[i].f() actually output the version string?
ACK with those nits addressed.
--
Eric Blake eblake at redhat.com +1-801-349-2682
Libvirt virtualization library http://libvirt.org
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 619 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20110202/571dab1b/attachment-0001.sig>
More information about the libvir-list
mailing list