module function Syslog.#open

open(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) -> self[permalink][rdoc]
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 を参照してください。

指定例:

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