rsyslogは、FreeBSDのSyslogの特有の記述と同用な事が出来るらしい。

http://d.hatena.ne.jp/mo8/20081129で、
>rsyslogなんてのもあるが、肝心の"#!prog","#+hostoname"等をサポートしていない。(とドキュメントにある)

なんて書いたのだが、

http://www.atmarkit.co.jp/flinux/rensai/newlog05/newlog05a.html
http://www.atmarkit.co.jp/flinux/rensai/newlog05/newlog05b.html
によると、全く同じ記述方法ではないが可能ということだ。

ログを集中して管理するサーバでは、さまざまなネットワーク機器やリモートホストからのログを受け取ることになります。
そのようなサーバでは、次のように「%hostname%」を使って、機器ごとにログファイルを整理するようにすると便利です。
その際「%programname%」を使えば、機器名だけでなく、ログを出力しているプログラム名を付加することができます。
使用可能なマクロは、前述の表1のとおりです。

$template DynamicFileName3,"/var/log/syslog/%hostname%/%$year%/%$month%/%day%/%programname%.log"
*.* ?DynamicFileName3

(「/var/log/syslog/ホスト名/年/月/日」でディレクトリを作成し、「プログラム名-日.log」をファイル名に持ったログを生成します)
リスト8 ホストや日付ごとに整理されたディレクトリにログファイルを保存するためのrsyslog.confの記述例

 このようにテンプレートを活用すれば、日付やホスト名に基づいてログファイルを整理できます。
しかし、7日前のログファイルを順次削除するような世代管理や、古いファイルの圧縮保存といった処理までは、
rsyslog単体ではできません。
そうしたアーカイブ管理まで実行するには、logrotateのようなツールを使用する必要があります。

こんな記述が出来るらしい。
ちょっと触ってみようかな。