names=open!,reopen
visibility=public
kind=defined

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

開いていた syslog を最初にクローズする点を除いて[[m:Syslog.#open]] と同じです。

@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]] を参照してく
                ださい。

使用例
  require 'syslog'

  Syslog.open("syslogtest")
  Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 100)
  begin
    Syslog.open!("syslogtest2")
    Syslog.log(Syslog::LOG_WARNING, "the sky is falling in %d seconds!", 200)
  rescue RuntimeError => err
    # RuntimeError は発生しない。
    puts err 
  end
  File.foreach('/var/log/system.log'){|line|
    print line if line =~ /the sky is/
  }

@see [[m:Syslog.#open]]

