On 01/12/2010 03:54 PM, Cole Robinson wrote: > On 01/12/2010 03:46 PM, Daniel P. Berrange wrote: >> On Tue, Jan 12, 2010 at 03:26:26PM -0500, Cole Robinson wrote: >>> This allows debug statements and raised errors in hook functions to >>> actually be logged somewhere (stderr). Users can enable debugging in the >>> daemon and now see more info in /var/log/libvirt/... >>> >>> Signed-off-by: Cole Robinson <crobinso@xxxxxxxxxx> >>> --- >>> src/util/util.c | 6 ++++++ >>> 1 files changed, 6 insertions(+), 0 deletions(-) >>> >>> diff --git a/src/util/util.c b/src/util/util.c >>> index 44a4b2f..23d781d 100644 >>> --- a/src/util/util.c >>> +++ b/src/util/util.c >>> @@ -334,6 +334,7 @@ __virExec(virConnectPtr conn, >>> int pipeerr[2] = {-1,-1}; >>> int childout = -1; >>> int childerr = -1; >>> + int logprio; >>> sigset_t oldmask, newmask; >>> struct sigaction sig_action; >>> >>> @@ -452,6 +453,11 @@ __virExec(virConnectPtr conn, >>> of being seen / logged */ >>> virSetErrorFunc(NULL, NULL); >>> >>> + /* Make sure any hook logging is sent to stderr */ >>> + logprio = virLogGetDefaultPriority(); >>> + virLogReset(); >>> + virLogSetDefaultPriority(logprio); >>> + >> >> I'm not sure that I understand this - surely the child process is already >> inheriting this setup from the parent libvirtd ? >> >> Daniel > > Problem is that virExec closes only the file descriptors it is using, ^^^ keeps only the file descriptors it is using. > which means it will close the file descriptors for any nontrivial > logging handlers. I could add some internal logging API to get the > relevant fds and keep them from being closed, but not sure if we > necessarily want to preserve those for a daemonized process? > > - Cole > > -- > Libvir-list mailing list > Libvir-list@xxxxxxxxxx > https://www.redhat.com/mailman/listinfo/libvir-list -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list