I must be doing something wrong or the syntax is really dependant on the program name now.
Orginally under the v2.1 build, the intent of the filter was to strip any incoming message going to the syslog-ng server from the data being sent from the syslog-ng client. There was no one specific
program attached to the incoming data. It could come from the client's syslog-ng side via logger command, apache data, kernel, etc.
Server-side syslog-ng.conf filter section:
filter M_audit { not match("Auditing" value("Audit daemon rotating log files") flags(ignore-case)); };
filter M_repeat { not match("Repeating" value("last message repeated") flags(ignore-case)); };
filter M_stats { not match("Stats" value("Log statistics") flags(ignore-case)); };
On the client side, I would just do 'logger daemon' to send over the message to the syslog-ng server.
On the server side, running syslog-ng -d reveals this output:
Incoming log entry; line='<13>Sep 20 17:16:31 drupal root: daemon'
Filter rule evaluation begins; filter_rule='M_audit'
No such value known; value='Audit daemon rotating log files'
Filter node evaluation result; filter_result='match'
Filter rule evaluation result; filter_result='match', filter_rule='M_audit'
Filter rule evaluation begins; filter_rule='M_repeat'
No such value known; value='last message repeated'
Filter node evaluation result; filter_result='match'
Filter rule evaluation result; filter_result='match', filter_rule='M_repeat'
Filter rule evaluation begins; filter_rule='M_stats'
No such value known; value='Log statistics'
Filter node evaluation result; filter_result='match'
Filter rule evaluation result; filter_result='match', filter_rule='M_stats'
Server-side syslog output being seen in the data file:
Sep 20 17:16:31 drupal root: daemon