[syslog-ng]Lost of facility/level
Balazs Scheidler
bazsi@balabit.hu
Tue, 2 Apr 2002 12:06:48 +0200
On Tue, Apr 02, 2002 at 11:32:54AM +0100, Jerome Peducasse wrote:
> Hi,
>
> I'm using syslog-ng 1.5.15 and sometimes (probably during message burst), messages lost their facility/level and are logged with user/notice. Message format becomes:
> Mar 29 11:35:50 w3search3 in void echo::AtlasClient::onRead(void *):AtlasClient.cc:427 <130>Mar 29 11:35:50 w3search[19816]: read Context failed on socket=3 in void echo::AtlasClient::onRead(void *):AtlasClient.cc:434
>
> instead of:
>
> Mar 29 11:32:07 w3search3 w3search[19817]: read Context failed on socket=3 in void echo::AtlasClient::onRead(void *):AtlasClient.cc:434
>
> General log_fifo_size is set to 1000 and is set to 10000 for appropriate filter of this message:
>
> destination d_applicatif { file("/ke/logs/ke.log" owner(test) group(test) log_fifo_size(10000) ); };
> filter f_applicatif { facility(local0); };
> log {
> source(s_sys);
> filter(f_applicatif);
> destination(d_applicatif);
> destination(d_loghost_applicatif);
> flags(final);
> };
maybe the end of line is lost somehow. are your logs terminated with a
single '\n' or a '\r\n' pair?
Looking into the code, this might be the cause of the problem, and if it is
the following patch fixes it. Can you please test this?
Index: sources.c
===================================================================
RCS file: /var/cvs/syslog-ng/src/sources.c,v
retrieving revision 1.31
diff -u -r1.31 sources.c
--- sources.c 2002/03/19 09:26:16 1.31
+++ sources.c 2002/04/02 09:59:32
@@ -123,7 +123,7 @@
if (length)
do_handle_line(closure, length, start, salen ? (abstract_addr *) &sabuf : NULL , salen);
- start = end + 1;
+ start = eol + 1;
eol = memchr(start, '\0', &closure->buffer[closure->pos] - start);
if (eol == NULL)
--
Bazsi
PGP info: KeyID 9AF8D0A9 Fingerprint CD27 CFB0 802C 0944 9CFD 804E C82C 8EB1