All of lore.kernel.org
 help / color / mirror / Atom feed
From: Leandro Dorileo <l@dorileo.org>
To: alex.bennee@linaro.org
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC PATCH 2/4] qemu-log: support simple pid substitution in logfile
Date: Wed, 26 Mar 2014 18:50:02 +0000	[thread overview]
Message-ID: <20140326184927.GB23230@dorilex> (raw)
In-Reply-To: <1395844634-11729-3-git-send-email-alex.bennee@linaro.org>

On Wed, Mar 26, 2014 at 02:37:12PM +0000, alex.bennee@linaro.org wrote:
> From: Alex Bennée <alex.bennee@linaro.org>
> 
> When debugging stuff that occurs over several forks it would be useful
> not to keep overwriting the one logfile you've set-up. This allows a
> simple %d to be included once in the logfile parameter which is
> substituted with getpid().
> 
> Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
> 
> diff --git a/qemu-log.c b/qemu-log.c
> index 35bbb56..2897596 100644
> --- a/qemu-log.c
> +++ b/qemu-log.c
> @@ -81,11 +81,24 @@ void do_qemu_set_log(int log_flags, bool use_own_buffers)
>          qemu_log_close();
>      }
>  }
> -
> +/*
> + * Allow the user to include %d in their logfile which will be
> + * substituted with the current PID. This is useful for debugging many
> + * nested linux-user tasks but will result in lots of logs.
> + */
>  void qemu_set_log_filename(const char *filename)
>  {
>      g_free(logfilename);
> -    logfilename = g_strdup(filename);
> +    if (g_strrstr(filename, "%d")) {
> +        /* if we are going to format this we'd better validate first */
> +        if (g_regex_match_simple("^[^%]+%d[^%]+$", filename, 0, 0)) {
> +            logfilename = g_strdup_printf(filename, getpid());
> +        } else {
> +            g_error("Bad logfile format: %s", filename);
> +        }
> +    } else {
> +        logfilename = g_strdup(filename);
> +    }
>      qemu_log_close();
>      qemu_set_log(qemu_loglevel);
>  }

Looks good to me.

-- 
Leandro Dorileo

  reply	other threads:[~2014-03-26 18:51 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-03-26 14:37 [Qemu-devel] [RFC PATCH 0/4] qemu-log: various fixes and enhancements alex.bennee
2014-03-26 14:37 ` [Qemu-devel] [RFC PATCH 1/4] qemu-log: correct help text for -d cpu alex.bennee
2014-03-26 18:45   ` Leandro Dorileo
2014-03-27  8:19     ` Markus Armbruster
2014-03-26 14:37 ` [Qemu-devel] [RFC PATCH 2/4] qemu-log: support simple pid substitution in logfile alex.bennee
2014-03-26 18:50   ` Leandro Dorileo [this message]
2014-03-27  9:59     ` Alex Bennée
2014-03-28 12:19       ` Leandro Dorileo
2014-03-26 14:37 ` [Qemu-devel] [RFC PATCH 3/4] qemu-log: new option -dfilter to limit output alex.bennee
2014-03-26 15:49   ` Christopher Covington
2014-03-26 17:32     ` Alex Bennée
2014-03-27 11:44     ` Alex Bennée
2014-03-27 14:14       ` Christopher Covington
2014-03-27 14:17       ` Peter Maydell
2014-03-26 14:37 ` [Qemu-devel] [RFC PATCH 4/4] qemu-log: make in_asm, out_asm and op_opt understand dfilter alex.bennee

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=20140326184927.GB23230@dorilex \
    --to=l@dorileo.org \
    --cc=alex.bennee@linaro.org \
    --cc=qemu-devel@nongnu.org \
    /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.