Re: [PATCHv2] printk: add console_msg_format command line option

From: Sergey Senozhatsky
Date: Tue Dec 19 2017 - 10:32:34 EST


Hi,

On (12/19/17 10:17), Steven Rostedt wrote:
[..]
> > + console_msg_format=
> > + [KNL] Change console messages format
> > + default
> > + By default we print messages on consoles in
> > + "[time stamp] text\n" format (time stamp may not be
> > + printed, depending on CONFIG_PRINTK_TIME or
> > + `printk_time' param).
> > + syslog
> > + Switch to syslog format: "<%u>[time stamp] text\n"
> > + IOW, each message will have a facility and loglevel
> > + prefix. The format is similar to one used by syslog()
> > + syscall, or to executing "dmesg -S --raw" or to reading
> > + from /proc/kmsg.
>
> Just to clarify. This affects all consoles, not just serial?

yes.

just like printk_time param/config option affects all the consoles,
console_msg_format affects all of them. we msg_print_text() once, that
makes messages look the same on every console. so I kept the existing
behaviour.

[..]
> > +enum con_msg_format {
> > + MSG_FORMAT_DEFAULT = 0,
> > + MSG_FORMAT_SYSLOG = (1 << 0),
> > +};
>
> So the con_msg_format will be a flag (as denoted with the (1<<0)).
> Should we call it "con_msg_format_flags" to make it more obvious that
> these are treated as flags and not a simple number.

ok, can do.

[..]
> > +static int __init console_msg_format_setup(char *str)
> > +{
> > + if (!strncmp(str, "syslog", 6))
> > + console_msg_format = MSG_FORMAT_SYSLOG;
> > + if (!strncmp(str, "default", 7))
>
> You can use strcmp() instead of strncmp(), the init code will nul
> terminate the string for you before calling this function. Otherwise if
> we add "syslog_special" or "default_extra" they will be confused with
> the above.

ok, that's a minor thing, but can change.

-ss