All of lore.kernel.org
 help / color / mirror / Atom feed
From: Markus Armbruster <armbru@redhat.com>
To: Zhang Haoyu <zhanghy@sangfor.com>
Cc: "Peter Crosthwaite" <peter.crosthwaite@xilinx.com>,
	"Alex Bennée" <alex.bennee@linaro.org>,
	qemu-devel <qemu-devel@nongnu.org>,
	Andreas_Färber <afaerber@suse.de>,
	"William Dauchy" <wdauchy@gmail.com>
Subject: Re: [Qemu-devel] [questions] about qemu log
Date: Wed, 06 Aug 2014 09:42:30 +0200	[thread overview]
Message-ID: <87lhr2vzbt.fsf@blackfin.pond.sub.org> (raw)
In-Reply-To: <201408061500482622862@sangfor.com> (Zhang Haoyu's message of "Wed, 6 Aug 2014 15:00:50 +0800")

"Zhang Haoyu" <zhanghy@sangfor.com> 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:
>>
>
> 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?

I didn't mean to suggest blind conversion from fprintf() to qemu_log().
Each instance of fprintf() needs to be reviewed before conversion.  I
think that's exactly Peter's advice, too.

> If so, should I still need to redirect the stderr to specified logfile
> in qemu's parent shell/process ?

Probably.  Libvirt does it.

  reply	other threads:[~2014-08-06  7:42 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-07-25  6:42 [Qemu-devel] [questions] about qemu log Zhang Haoyu
2014-07-25 10:22 ` Alex Bennée
2014-07-25 11:07   ` Zhang Haoyu
2014-07-25 13:20     ` Andreas Färber
2014-07-26  2:28       ` Zhang Haoyu
2014-07-26  3:03         ` [Qemu-devel] [questions]_about_qemu_log Zhang Haoyu
2014-07-29 19:51         ` [Qemu-devel] [questions] about qemu log Eric Blake
2014-08-05 20:48           ` William Dauchy
2014-08-05 22:40             ` Peter Crosthwaite
2014-08-06  1:23               ` Zhang Haoyu
2014-08-06  2:49                 ` Peter Crosthwaite
2014-08-06  3:41                   ` Zhang Haoyu
2014-08-06  6:20                     ` Markus Armbruster
2014-08-06  7:00                       ` Zhang Haoyu
2014-08-06  7:42                         ` Markus Armbruster [this message]
2014-08-06 12:04                           ` Peter Crosthwaite
2014-08-06 10:43               ` William Dauchy
2014-08-06 20:42                 ` William Dauchy

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=87lhr2vzbt.fsf@blackfin.pond.sub.org \
    --to=armbru@redhat.com \
    --cc=afaerber@suse.de \
    --cc=alex.bennee@linaro.org \
    --cc=peter.crosthwaite@xilinx.com \
    --cc=qemu-devel@nongnu.org \
    --cc=wdauchy@gmail.com \
    --cc=zhanghy@sangfor.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.