Escribir posts de logging bind / named a un file diferente usando rsyslog

En este momento, el contenido de /etc/rsyslog.conf que controla la disposition de los posts de logging con nombre se ve así:

# Log anything (except mail) of level info or higher. # Don't log private authentication messages! *.info;mail.none;authpriv.none;cron.none;;kern.none /var/log/messages 

Colocar lo siguiente delante de esa sección escribe correctamente los posts "nombrados" en /var/log/named/named.log.

 # Write named/bind messages to their own log file :programname, isequal, "named" /var/log/named/named.log 

El problema es que esos posts "nombrados" todavía se están escribiendo en el file / var / log / messages. ¿Cómo modificaría la línea que genera / var / log / messages para no escribir posts "named"?

Nota: Se trata de rsyslog v5 que se entrega con RHEL / CentOS 6.

Adición: La respuesta aceptada de abajo es

 # Write named/bind messages to their own log file, then discard (tilde) :programname, isequal, "named" /var/log/named/named.log :programname, isequal, "named" ~ 

El uso de la negación puede ser útil si desea hacer algún procesamiento genérico, pero excluir algunos events específicos. Puede utilizar la acción Descartar junto con eso. Una muestra sería:

. /var/log/allmsgs-including-informational.log

: msg, contiene, "informativo" ~

. /var/log/allmsgs-but-informational.log

No pase por alto el tilde rojo en la línea 2! En este ejemplo, todos los posts se escriben en el file allmsgs-including-informational.log. A continuación, se descartan todos los posts que contienen la cadena "informativo". Esto significa que las líneas de file de configuration debajo de la "línea de descarte" (número 2 en nuestra muestra) no se aplicarán a este post. A continuación, todas las líneas restantes también se escribirán en el file allmsgs-but-informational.log.

http://www.rsyslog.com/doc/rsyslog_conf_filter.html