Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > syslogライブラリ > Syslogモジュール > open!
open!(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... } -> selfreopen(ident=$0, options=Syslog::LOG_PID|Syslog::LOG_CONS, facility=Syslog::LOG_USER) { |syslog| ... } -> self開いていた syslog を最初にクローズする点を除いてSyslog.#open と同じです。
使用例
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_ALSO] Syslog.#open