DJBさんのdaemontoolsでは、multilogというコマンドでサービスディレクトリの下にlogディレクトリを作ってログを格納するのが一般的です。multilog
は便利なのですが、daemontools
配下のサービスが多くなると、全サービスのログを集めて時系列に表示させたくなります(よね?)。そこでmultilog-collectorというのを3年くらい前に作りましたが当時はRuby1.8系でそのままメンテナンスもサボっていたので少し手を入れてRuby1.9以降で動くように修正しましたのでこの機会にご紹介します。
multilog-collectorとは
daemontools
の全サービス以下にあるmultilog
が出力するログを集めて時系列に並び直してtailするツールです。
インストール
gem install multilog-collector
※必要に応じてsudo
してください
multilog-collector
というコマンドがインストールされます。
使い方
単に以下のようにコマンドを実行します。
multilog-collector
daemontools
のサービスが/serivice
以外にあるときには、以下のように設定してください(例: /etc/service)
multilog-collector -d /etc/service
デフォルトでは、最新100件を表示するようにしています。表示件数を変更するときには以下のように設定してください(例: 200 件)
multilog-collector -l 200
ログの出力では、tai64nlocal
相当のことをしてます。