Messages in this thread | | | Subject | Re: [PATCH 0/8] Rework KERN_<LEVEL> | From | Joe Perches <> | Date | Tue, 05 Jun 2012 17:07:27 -0700 |
| |
On Tue, 2012-06-05 at 16:58 -0700, Andrew Morton wrote: > echo "\0014Hello Joe" > /dev/kmsg
# echo -e "\x014Hello Me" > /dev/kmsg gives: 12,778,4057982669;Hello Me
#echo -e "\x011Hello Me_2" > /dev/kmsg gives: 12,779,4140452093;Hello Me_2
I didn't change devkmsg_writev so the original parsing style for "<.>" is unchanged.
from printk.c:
static ssize_t devkmsg_writev(struct kiocb *iocb, const struct iovec *iv, unsigned long count, loff_t pos) [...] int level = default_message_loglevel; [...] if (line[0] == '<') { char *endp = NULL;
i = simple_strtoul(line+1, &endp, 10); if (endp && endp[0] == '>') { level = i & 7; if (i >> 3) facility = i >> 3; endp++; len -= endp - line; line = endp; } } line[len] = '\0';
printk_emit(facility, level, NULL, 0, "%s", line); []
level is what matters.
from dmesg -r
<12>[ 2462.339252] \001Hello Andrew <9>[ 2516.023444] Hello Andrew <12>[ 3046.752764] \x01Hello Kay <12>[ 3940.871850] \x01Hello Kay <12>[ 4057.982669] Hello Me <12>[ 4140.452093] Hello Me_2
| |