Rough で 熟成していた syslog モジュールですが、仕様が固まり、
標準添付に向けて準備が整いました。

- 定数を Syslog::Constants に追い出し、 include するようにした。
- syslog はプロセスごとに一つしか開けないので、 Singleton クラス
  とした。(new() は禁止、 instance() で取り出し、等)
- プライオリティマスクや open 時のオプション等の値を取り出せる
  ようにした。
- setmask は mask= に改名した。
- ドキュメントを書き直した。
- テストを RubyUnit で書き換えた。

 以下で tarball が取れるので、 syslog() のある(たぶん UNIX 系
のみ?)環境で試していただけると幸いです。(要 RubyUnit)

http://www.ruby-lang.org/~knu/cgi-bin/cvsweb.cgi/rough/ext/syslog/syslog.tar.gz?tarball=1


	$ ruby extconf.rb
	$ make
	$ ./test.rb

でテストがすべて通ればたぶん OK です。テスト中、 LOG_NOTICE と
LOG_CRIT のメッセージをそれぞれ二回ずつ吐くので、正しくログが
出力されているかも確認してください。

# テストを行うホストの管理形態にも留意し、必要に応じて管理者に
# 了解を取ってください。

 手元では FreeBSD 4-STABLE/5-CURRENT, Debian GNU/Linux woody,
NetBSD 1.5.1 で正常動作を確認しました。(ruby 1.6/1.7)


 お試しのプラットフォームで、 syslog.c や test.rb で存在を仮定
している定数が存在しないとか、逆に固有の定数が入っていない等の
報告があれば適宜調整します。

 よろしくお願いします。

-- 
                     /
                    /__  __            Akinori.org / MUSHA.org
                   / )  )  ) )  /     FreeBSD.org / Ruby-lang.org
Akinori MUSHA aka / (_ /  ( (__(  @ iDaemons.org / and.or.jp

"Somewhere out of a memory.. of lighted streets on quiet nights.."