Re: [systemd-devel] [PATCH] journald: fix syslog facility for messages coming from kmsg
On Sun, Jul 27, 2014 at 07:57:47PM +0200, Zbigniew Jędrzejewski-Szmek wrote: > On Sun, Jul 27, 2014 at 01:11:07PM +0200, Michal Sekletar wrote: > > On Sat, Jul 26, 2014 at 09:11:47PM +0200, Zbigniew Jędrzejewski-Szmek wrote: > > > Hm, what was wrong with the facility before? > > > > I think that we should always add SYSLOG_FACILITY field. Now, if (priority & > > LOG_FACMASK) == LOG_KERN we don't do that. We set SYSLOG_IDENTIFIER to > > "kernel" > > tough. But missing SYSLOG_FACILITY field confuses some tools, most notably > > rsyslog, thus rsyslog filters like "kern.* /var/log/kernel.log" doesn't > > work and > > rsyslog don't output kernel log messages to /var/log/kernel.log. > > Agreed, even though for slightly different reason :) > syslog(2) describes LOG_KERN as the facility for kernel messages, so we should > set it so. So I'm +1 for pushing this change, but *please* add the explanation > to the commit message. It makes it much easier for downstreams, especially for > people who see the commit in isolation on some stable branch a few months down > the road. Pushed, with explanation. Thanks! > > Zbyszek > > > > On Fri, Jul 25, 2014 at 03:04:44PM +0200, Michal Sekletar wrote: > > > > --- > > > > src/journal/journald-kmsg.c | 6 +++--- > > > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > > > > > diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c > > > > index 12992e7..8d24344 100644 > > > > --- a/src/journal/journald-kmsg.c > > > > +++ b/src/journal/journald-kmsg.c > > > > @@ -274,6 +274,9 @@ static void dev_kmsg_record(Server *s, char *p, > > > > size_t l) { > > > > if (asprintf(&syslog_priority, "PRIORITY=%i", priority & > > > > LOG_PRIMASK) >= 0) > > > > IOVEC_SET_STRING(iovec[n++], syslog_priority); > > > > > > > > +if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", priority > > > > & LOG_FACMASK) >= 0) > > > > +IOVEC_SET_STRING(iovec[n++], syslog_facility); > > > > + > > > > if ((priority & LOG_FACMASK) == LOG_KERN) > > > > IOVEC_SET_STRING(iovec[n++], > > > > "SYSLOG_IDENTIFIER=kernel"); > > > > else { > > > > @@ -295,9 +298,6 @@ static void dev_kmsg_record(Server *s, char *p, > > > > size_t l) { > > > > if (syslog_pid) > > > > IOVEC_SET_STRING(iovec[n++], > > > > syslog_pid); > > > > } > > > > - > > > > -if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", > > > > LOG_FAC(priority)) >= 0) > > > > -IOVEC_SET_STRING(iovec[n++], syslog_facility); > > > > } > > > > > > > > message = cunescape_length_with_prefix(p, pl, "MESSAGE="); > > > > -- > > > > 2.0.1 > > > > > > > > ___ > > > > systemd-devel mailing list > > > > systemd-devel@lists.freedesktop.org > > > > http://lists.freedesktop.org/mailman/listinfo/systemd-devel > > > > > > ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] journald: fix syslog facility for messages coming from kmsg
On Sun, Jul 27, 2014 at 01:11:07PM +0200, Michal Sekletar wrote: > On Sat, Jul 26, 2014 at 09:11:47PM +0200, Zbigniew Jędrzejewski-Szmek wrote: > > Hm, what was wrong with the facility before? > > I think that we should always add SYSLOG_FACILITY field. Now, if (priority & > LOG_FACMASK) == LOG_KERN we don't do that. We set SYSLOG_IDENTIFIER to > "kernel" > tough. But missing SYSLOG_FACILITY field confuses some tools, most notably > rsyslog, thus rsyslog filters like "kern.* /var/log/kernel.log" doesn't work > and > rsyslog don't output kernel log messages to /var/log/kernel.log. Agreed, even though for slightly different reason :) syslog(2) describes LOG_KERN as the facility for kernel messages, so we should set it so. So I'm +1 for pushing this change, but *please* add the explanation to the commit message. It makes it much easier for downstreams, especially for people who see the commit in isolation on some stable branch a few months down the road. Zbyszek > > On Fri, Jul 25, 2014 at 03:04:44PM +0200, Michal Sekletar wrote: > > > --- > > > src/journal/journald-kmsg.c | 6 +++--- > > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > > > diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c > > > index 12992e7..8d24344 100644 > > > --- a/src/journal/journald-kmsg.c > > > +++ b/src/journal/journald-kmsg.c > > > @@ -274,6 +274,9 @@ static void dev_kmsg_record(Server *s, char *p, > > > size_t l) { > > > if (asprintf(&syslog_priority, "PRIORITY=%i", priority & > > > LOG_PRIMASK) >= 0) > > > IOVEC_SET_STRING(iovec[n++], syslog_priority); > > > > > > +if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", priority & > > > LOG_FACMASK) >= 0) > > > +IOVEC_SET_STRING(iovec[n++], syslog_facility); > > > + > > > if ((priority & LOG_FACMASK) == LOG_KERN) > > > IOVEC_SET_STRING(iovec[n++], "SYSLOG_IDENTIFIER=kernel"); > > > else { > > > @@ -295,9 +298,6 @@ static void dev_kmsg_record(Server *s, char *p, > > > size_t l) { > > > if (syslog_pid) > > > IOVEC_SET_STRING(iovec[n++], syslog_pid); > > > } > > > - > > > -if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", > > > LOG_FAC(priority)) >= 0) > > > -IOVEC_SET_STRING(iovec[n++], syslog_facility); > > > } > > > > > > message = cunescape_length_with_prefix(p, pl, "MESSAGE="); > > > -- > > > 2.0.1 > > > > > > ___ > > > systemd-devel mailing list > > > systemd-devel@lists.freedesktop.org > > > http://lists.freedesktop.org/mailman/listinfo/systemd-devel > > > > ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] journald: fix syslog facility for messages coming from kmsg
On Sat, Jul 26, 2014 at 09:11:47PM +0200, Zbigniew Jędrzejewski-Szmek wrote: > Hm, what was wrong with the facility before? I think that we should always add SYSLOG_FACILITY field. Now, if (priority & LOG_FACMASK) == LOG_KERN we don't do that. We set SYSLOG_IDENTIFIER to "kernel" tough. But missing SYSLOG_FACILITY field confuses some tools, most notably rsyslog, thus rsyslog filters like "kern.* /var/log/kernel.log" doesn't work and rsyslog don't output kernel log messages to /var/log/kernel.log. Michal > Zbyszek > > On Fri, Jul 25, 2014 at 03:04:44PM +0200, Michal Sekletar wrote: > > --- > > src/journal/journald-kmsg.c | 6 +++--- > > 1 file changed, 3 insertions(+), 3 deletions(-) > > > > diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c > > index 12992e7..8d24344 100644 > > --- a/src/journal/journald-kmsg.c > > +++ b/src/journal/journald-kmsg.c > > @@ -274,6 +274,9 @@ static void dev_kmsg_record(Server *s, char *p, size_t > > l) { > > if (asprintf(&syslog_priority, "PRIORITY=%i", priority & > > LOG_PRIMASK) >= 0) > > IOVEC_SET_STRING(iovec[n++], syslog_priority); > > > > +if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", priority & > > LOG_FACMASK) >= 0) > > +IOVEC_SET_STRING(iovec[n++], syslog_facility); > > + > > if ((priority & LOG_FACMASK) == LOG_KERN) > > IOVEC_SET_STRING(iovec[n++], "SYSLOG_IDENTIFIER=kernel"); > > else { > > @@ -295,9 +298,6 @@ static void dev_kmsg_record(Server *s, char *p, size_t > > l) { > > if (syslog_pid) > > IOVEC_SET_STRING(iovec[n++], syslog_pid); > > } > > - > > -if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", > > LOG_FAC(priority)) >= 0) > > -IOVEC_SET_STRING(iovec[n++], syslog_facility); > > } > > > > message = cunescape_length_with_prefix(p, pl, "MESSAGE="); > > -- > > 2.0.1 > > > > ___ > > systemd-devel mailing list > > systemd-devel@lists.freedesktop.org > > http://lists.freedesktop.org/mailman/listinfo/systemd-devel > > ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH] journald: fix syslog facility for messages coming from kmsg
Hm, what was wrong with the facility before? Zbyszek On Fri, Jul 25, 2014 at 03:04:44PM +0200, Michal Sekletar wrote: > --- > src/journal/journald-kmsg.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c > index 12992e7..8d24344 100644 > --- a/src/journal/journald-kmsg.c > +++ b/src/journal/journald-kmsg.c > @@ -274,6 +274,9 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) > { > if (asprintf(&syslog_priority, "PRIORITY=%i", priority & > LOG_PRIMASK) >= 0) > IOVEC_SET_STRING(iovec[n++], syslog_priority); > > +if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", priority & > LOG_FACMASK) >= 0) > +IOVEC_SET_STRING(iovec[n++], syslog_facility); > + > if ((priority & LOG_FACMASK) == LOG_KERN) > IOVEC_SET_STRING(iovec[n++], "SYSLOG_IDENTIFIER=kernel"); > else { > @@ -295,9 +298,6 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) > { > if (syslog_pid) > IOVEC_SET_STRING(iovec[n++], syslog_pid); > } > - > -if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", > LOG_FAC(priority)) >= 0) > -IOVEC_SET_STRING(iovec[n++], syslog_facility); > } > > message = cunescape_length_with_prefix(p, pl, "MESSAGE="); > -- > 2.0.1 > > ___ > systemd-devel mailing list > systemd-devel@lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/systemd-devel > ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
[systemd-devel] [PATCH] journald: fix syslog facility for messages coming from kmsg
--- src/journal/journald-kmsg.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/journal/journald-kmsg.c b/src/journal/journald-kmsg.c index 12992e7..8d24344 100644 --- a/src/journal/journald-kmsg.c +++ b/src/journal/journald-kmsg.c @@ -274,6 +274,9 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { if (asprintf(&syslog_priority, "PRIORITY=%i", priority & LOG_PRIMASK) >= 0) IOVEC_SET_STRING(iovec[n++], syslog_priority); +if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", priority & LOG_FACMASK) >= 0) +IOVEC_SET_STRING(iovec[n++], syslog_facility); + if ((priority & LOG_FACMASK) == LOG_KERN) IOVEC_SET_STRING(iovec[n++], "SYSLOG_IDENTIFIER=kernel"); else { @@ -295,9 +298,6 @@ static void dev_kmsg_record(Server *s, char *p, size_t l) { if (syslog_pid) IOVEC_SET_STRING(iovec[n++], syslog_pid); } - -if (asprintf(&syslog_facility, "SYSLOG_FACILITY=%i", LOG_FAC(priority)) >= 0) -IOVEC_SET_STRING(iovec[n++], syslog_facility); } message = cunescape_length_with_prefix(p, pl, "MESSAGE="); -- 2.0.1 ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel