kind=defined
names=open
visibility=public

--- 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 を引数としてブロックを実行し、
最後に [[m:Syslog.#close]] を行う。

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

@param ident すべてのログにつく識別子で、どのプログラムから送られ
             たログなのかを識別するために使われる文字列を指定します。
             指定しない場合はプログラム名が使われます。

@param options Syslog.open や Syslog.log の動作を制御するフラグを指定します。
               指定しない場合は、Syslog::LOG_PID|Syslog::LOG_CONSの値が使われ
               ます。使用できる値は[[c:Syslog::Constants]] を参照してください。
               
@param facility ログ出力を行うプログラムの種別を指定します。syslog はこの値
                にしたがって出力先となるログファイルを決定します。 詳しくは、
                [[man:syslog.conf(5)]], 
                [[c:Syslog::Constants]] を参照してください。

@raise RuntimeError syslogを既に開いていた場合は[[c:RuntimeError]]が発生する。

@return self を返します。

syslogを既に開いていた場合は[[c: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 に指定できる値については
[[c:Syslog::Constants]] を参照してください。

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

