[syslog-ng] CSV parser ignoring template()?

John Morrissey jwm at horde.net
Mon Jan 9 14:57:31 CET 2012


On Mon, Jan 09, 2012 at 10:29:24AM +0100, Gergely Nagy wrote:
> John Morrissey <jwm at horde.net> writes:
> > I'm upgrading from 3.1.3 to 3.3.3. My configuration has a CSV parser:
> >
> > parser p_find_role {
> >     csv-parser(
> >         columns("ROLE", "REMAINDER")
> >         delimiters("0123456789.")
> >         template("${HOST}")
> >     );
> > };
> >
> > With 3.1.3, this takes the first word of the machine's hostname and
> > stores it in $ROLE, but 3.3.3 seems to ignore template() and operates on
> > the log message instead, storing the first field of the message in
> > $ROLE.
> >
> > $HOST expands correctly in a log template, so that token is still
> > available in 3.3.x. Am I missing something else related to the upgrade?
> 
> Are you using the same csv-parser in multiple log paths? If so, that's a
> known bug in 3.3.x, and has since been fixed in git.

nod, I forgot to mention I had already cherry-picked
79fc32703615e045fca4c9aaf85b7ab2915e7ed4 and applied it to our local
syslog-ng build.

That bug caused the token to be empty, but the current problem (after
applying 79fc32) is that the token is being filled, just based on the wrong
data.

john
-- 
John Morrissey          _o            /\         ----  __o
jwm at horde.net        _-< \_          /  \       ----  <  \,
www.horde.net/    __(_)/_(_)________/    \_______(_) /_(_)__


More information about the syslog-ng mailing list