Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library syslog > module Syslog > open

module function Syslog.#open

open(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) -> self
open(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... } -> self

与えられた引数でsyslogを開く。以降、他の Syslog モジュール関数が使 用可能となる。

ブロック付きで呼ばれた場合は、self を引数としてブロックを実行し、 最後に Syslog.#close を行う。

syslog の詳細については syslog(3) を参照してください。

[PARAM] ident:
すべてのログにつく識別子で、どのプログラムから送られ たログなのかを識別するために使われる文字列を指定します。 指定しない場合はプログラム名が使われます。
[PARAM] options:
Syslog.open や Syslog.log の動作を制御するフラグを指定します。 指定しない場合は、Syslog::LOG_PID|Syslog::LOG_CONSの値が使われ ます。使用できる値はSyslog::Constants を参照してください。
[PARAM] facility:
ログ出力を行うプログラムの種別を指定します。syslog はこの値 にしたがって出力先となるログファイルを決定します。 詳しくは、 syslog.conf(5), Syslog::Constants を参照してください。
[EXCEPTION] RuntimeError:
syslogを既に開いていた場合はRuntimeErrorが発生する。
[RETURN]
self を返します。

syslogを既に開いていた場合はRuntimeErrorが発生します。

require 'syslog'

Syslog.open("syslogtest")
Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 100)
begin
  Syslog.open("syslogtest2")
rescue RuntimeError => err
  puts err #=> "syslog already open"
end

options と facility に指定できる値については Syslog::Constants を参照してください。

指定例:

Syslog.open('ftpd', Syslog::LOG_PID | Syslog::LOG_NDELAY,
            Syslog::LOG_FTP)