Hello,<br><br>I am attempting to implement syslog-ng on our servers hosting postgresql databases.  The general idea is to log &quot;too much&quot; at the database level and then, using syslog filters, reduce it to the information we want to actually hold in the syslog and send to the log server.  So far I am extremely pleased with how easy it is to implement and well documented.  However, I do have one problem that is making it difficult to use.<br>

<br>The problem is for each message that the filter matches, it does not completely drop the message.. rather, it logs the date / server / and a colon:<br><br>For example, this is what I get for a message that is matched by a filter:<br>

<br>&quot;Sep 29 09:43:29 hcdb1-rep2      :&quot;<br><br>I notice that even with the unmatched statements, there is a colon.  For example, in the postgresql log, I see:<br><br>insert into &quot;public&quot;.&quot;table&quot;(blah,blah,blah) values (blah,blah,blah);<br>

<br>but the same message once captured from syslog shows the following in the log and logserver:<br><br>Sep 29 09:43:29 hcdb1-rep2      insert: into &quot;public&quot;.&quot;table&quot;(blah,blah,blah) values (blah,blah,blah);<br>

<br>*Note the colon after &quot;insert&quot;.*  I can&#39;t seem to figure out where this is coming from or how to avoid it.  It also causes some filtering problems that I won&#39;t go into here so as to not confuse the issues, but safe to say it is also related to the colon.<br>

<br>I have spent a lot of time trying to figure this out and am at a dead-end.  Due to the amount of messages I need to filter out (below is just one of the many filters I need to put in and have tested with the same result), not being able to completely filter these out is a killer.<br>

<br>I am using the 3.0.4 open-source edition on Ubuntu 8.  Here is my config:<br><br>******************************************************************************************<br>@version: 3.0<br><br>options {<br>};<br><br>

######<br># sources<br>source s_local {<br># message generated by Syslog-NG<br>internal();<br># standard Linux log source (this is the default place for the syslog()<br># function to send logs to)<br>unix-stream(&quot;/dev/log&quot;);<br>

# messages from the kernel<br>file(&quot;/proc/kmsg&quot; program_override(&quot;kernel: &quot;));<br>file(&quot;/var/log/postgresql/postgresql-8.3-main.log&quot;);<br>};<br><br><br>######<br># destinations<br>destination d_messages { file(&quot;/var/log/messages&quot;); };<br>

<br>#####<br># filters<br><br>filter f_inserts2 {<br>        not match(&quot;_health_central&quot; value(&quot;MESSAGE&quot;));<br>};<br><br><br>destination d_logserver { tcp(&quot;<a href="http://internal.host.com">internal.host.com</a>&quot;); };<br>

<br><br>log {<br>source(s_local);<br>filter(f_inserts2);<br>destination(d_messages);<br>#destination(d_logserver);<br>};<br>******************************************************************************************<br><br>

Thanks!<br>James Kelly<br>