Допустим, есть сервис, который мы хотим писать через syslog в отдельный файл, уровень local2, но чтобы он не засорял /var/log/syslog|/var/log/messages. Создадим /etc/rsyslog.d/sea с текстом local2.* /var/log/sea.log
2 варианта:
1) дописываем в любое место нашего файла
local2.none /var/log/messages
local2.none /var/log/syslog
2) дописываем
сразу после правила
&~
(означает - если записали в этот файл, то дальше заканчиваем обработку строки, & это И, ~ это discard). Правил может быть несколько в файле, поэтому ставим именно после тех, где заканчиваем обработку строки.
UP
В свежих версиях в логе можно увидеть
rsyslogd-2307: warning: ~ action is deprecated, consider using the 'stop' statement instead [try http://www.rsyslog.com/e/2307 ]
Правда, по ссылке нет примеров применения и описания. Выглядеть это будет примерно так:
& stop
Но могут быть проблемы.