qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [questions] about qemu log


From: Markus Armbruster
Subject: Re: [Qemu-devel] [questions] about qemu log
Date: Wed, 06 Aug 2014 08:20:49 +0200
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

"Zhang Haoyu" <address@hidden> writes:

>>>>>> The output is on qemu's stderr.  You are in control of what that
>>>>> stderr is.
>>>>>
>>>>> I don't get why we can configure
>>>>> -D /path/to/unique/file/name.log
>>>>>
>>>>> but we also have to redirect stderr (I didn't checked if the daemonize
>>>>> option was closing it). What's the purpose of this logfile option?
>>>>>
>>>>
>>>>Well -D will log to file only loggable (i.e. qemu_log()) information
>>>>(which has all sorts of options and switches). Stderr, is a little
>>>>more static and should in theory be limited to genuine errors. But if
>>>>you want a combined log of both you can simply omit -D to default
>>>>qemu_log output to stderr. This gives you a combined log that you can
>>>>redirect anywhere. To be honest, this is what I do as a matter of
>>>>course (2> foo rather than -D foo).
>>>>
>>> Maybe we can introduce a new qemu option to specify a error logfile
>>> where stderr be redirected, like below,
>>> DEF("elogfile", HAS_ARG, QEMU_OPTION_elogfile, \
>>>     "-elogfile logfile redirect stderr log to logfile(default
>>> /var/log/qemu/<vm name>##.log)\n",
>>>     QEMU_ARCH_ALL)
>>> STEXI
>>> @item -elogfile @var{logfile}
>>> @findex -elogfile
>>> redirect stderr in @var{logfile}
>>> ETEXI
>>> then we can set the error log file through qemu command,
>>> /var/log/qemu/<vm name>##.log as default.
>>>
>>
>>This sounds out-of-scope for QEMU to me and makes a standard flow
>>non-standard. If prints are going to stderr where should be going
>>elsewhere they probably should be fixed. Do you have specific examples
>>of information going to stderr that you would rather go to a log (be
>>it an error log or something else?).
>>
> I use proxmox to manage vm, it dose not redirect qemu's stderr, and
> start vm with -daemonize option,
> so the error log disappeared.
> I want to redirect the error log of qemu to a specified logfile, if
> fault happened, I can use the error log to analyze the fault.
>
> And, why qemu output the error log to stderr instead of a error
> logfile which can be configure?

Because the code is a mess in that regard.

You don't fix that by redirecting stderr wholesale, because that just
adds to the mess.  You fix it at the root, one ill-advised fprintf() at
a time, as Peter advises:

[...]
>>>>There's plently of tree wide work to clean up the cases where stderr
>>>>is used where qemu_log should be. If you are finding that log
>>>>information is going to stderr instead of the log, patches would be
>>>>welcome.

If you want to redirect stderr in the interim, do it in whatever runs
QEMU.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]