Ruby 2.6.0 リファレンスマニュアル > ライブラリ一覧 > syslogライブラリ > Syslogモジュール > open!

module function Syslog.#open!

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

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

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