[syslog-ng] Writing a null character at the end of TCP payload

Nicolas Fédou nicolas.fedou at gmail.com
Thu Aug 7 11:09:33 CEST 2014

I need to send a null character at the end of a message on a tcp output...
But this null is considered to be an end of string.

My use case is sending a GELF message to a graylog's tcp input.
GELF message is a json syntax quite simple to comply with thanks to
Graylog needs a null character at the end of a GELF message in TCP but not
in UDP.

I tried many combination in the template with \x0, echo \x0,
`global_definition_of_null`, etc...
The matter is that null character when interpreted is an end of string, and
is not written in the tcp message.
I see truncated messages with ngrep.
Like "a\x0b" gives "a" according to ngrep.

I did not find any option to actually write a null character.
Do you have any options ?

As Graylog already have clients and librairies I belive they won't remove
the need for a null character.
Shall I open an issue on syslog-ng to ask for an option in templates or in
format-json ?

Regards, Nicolas Fédou.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.balabit.hu/pipermail/syslog-ng/attachments/20140807/9cb09b4b/attachment.htm 

More information about the syslog-ng mailing list