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: Zhang Haoyu
Subject: Re: [Qemu-devel] [questions] about qemu log
Date: Wed, 6 Aug 2014 15:00:50 +0800

>>>>>>> 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:
>

Sorry, I'm afraid I misunderstand what you mean,
should I replace all of fprintf(stderr, ...) with qemu_log() ?
or only some cases where stderr is used where qemu_log should be, as Perter 
advises?
If so, should I still need to redirect the stderr to specified logfile in 
qemu's parent shell/process ?

Thanks,
Zhang Haoyu

>[...]
>>>>>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]