syslogの設定は、/etc/syslog.confで行います。構文は、以下の通りです。
facility.level action
レベルとアクションの間は、タブですので注意して下さい。(スペースでは動作しません!)。レベルは指定されたレベル以上が有効範囲となります。
また、複数設定する場合は、セミコロン(;)で区切ります。この辺の基本的なこと、ファシリティ、レベル、アクションの詳細パラメータは、マニュアル及びネットでも情報が落ちているのでそちらご参照下さい。
ここでは、それ以外のことを書こうと思います。
syslogは、多くのUNIX系OSでほぼ共通の機能ですが、設定に関してSolaris特有のものが有ります。その部分を以下に記載します。
# /etc/syslog.conf --- mail.debug ifdef(`LOGHOST', /var/log/syslog, @loghost)
このifdef構文の箇所です。これは、m4で解釈されて、もしLOGHOSTが設定されていれば、/var/log/syslogへログを出力し、設定されていなければ、loghostというホストへログを転送すると言う意味です。では、LOGHOSTがどこで定義されているかというと、/etc/hostsです。つまりぃ
# cat /etc/hosts --- 192.168.1.10 host-a loghost
となっていれば、/var/log/syslogへログを出力です。デフォルトでは、/etc/hostsは、上記のようになっているはずなので、/var/log/syslogへログが出力されているはずです。
# cat /etc/hosts --- 192.168.1.10 host-a 192.168.1.20 loghost
こんな風になっていれば、host-aのログはloghost(192.168.1.20)というホストへ転送されます。
一般的なことですが、自分でインストールしたアプリケーション(サーバデーモン)のログをsyslogへ出力したい場合を記載します。箇条書き程度ですがこんな感じです。
Solarisに付いているデフォルトのログローテーションスクリプト(/usr/lib/newsyslog)はかなり品祖です。/var/adm/messagesについては3世代、/var/log/syslogについては7世代で上書きされますのでログを半永久的に取っておきたい場合は注意しましょう。
自分でログローテーションスクリプトをカスタマイズしたり、フリーのログローテーションツールを利用したり、Solaris9であればlogadmでもっと柔軟な設定が出来るはずなので、そちらを利用するのも良いかと思います。