On 10/06/2015 16:20, Pranith Kumar wrote: > qemu-log defaults to stderr when there is no '-D' option mentioned on command > line. When '-D' option is specified, we also need to specify '-d' option for > it > to use the specified logfile. When using monitor to enable logging this is > troublesome since there will be no '-d' option because of which monitor dumps > the logs to stderr. > > Fix this by opening the log file when '-D' is specified on the command line. > Also fix an ancient comment which does not hold true since changing location > and > log level has now been streamlined. > > Signed-off-by: Pranith Kumar <bobby.pr...@gmail.com> > CC: Paolo Bonzini <pbonz...@redhat.com> > CC: Luiz Capitulino <lcapitul...@redhat.com> > CC: Markus Armbruster <arm...@redhat.com> > CC: Peter Maydell <peter.mayd...@linaro.org> > --- > vl.c | 13 +++++-------- > 1 file changed, 5 insertions(+), 8 deletions(-) > > diff --git a/vl.c b/vl.c > index d4b2d03..5f81ccc 100644 > --- a/vl.c > +++ b/vl.c > @@ -3845,17 +3845,14 @@ int main(int argc, char **argv, char **envp) > exit(0); > } > > - /* Open the logfile at this point, if necessary. We can't open the > logfile > - * when encountering either of the logging options (-d or -D) because the > - * other one may be encountered later on the command line, changing the > - * location or level of logging. > + /* Open the logfile at this point and set the log mask if necessary. > */ > + if (log_file) { > + qemu_set_log_filename(log_file); > + } > + > if (log_mask) { > int mask; > - if (log_file) { > - qemu_set_log_filename(log_file); > - } > - > mask = qemu_str_to_log_mask(log_mask); > if (!mask) { > qemu_print_log_usage(stdout); >
Good idea---also it is consistent with what user-mode emulation already does. Paolo