Method: Sensu::Logger::Stream#reopen

Defined in:
lib/sensu/logger/stream.rb

#reopen(target) ⇒ Object

Reopen the log stream output, write log events to a file.

Parameters:

  • target (IO, String)

    IO stream or file path.



64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
# File 'lib/sensu/logger/stream.rb', line 64

def reopen(target)
  @reopen = target
  case target
  when IO
    STDOUT.reopen(target)
    STDOUT.sync = true
    STDERR.reopen(STDOUT)
  when String
    if File.writable?(target) || !File.exist?(target) && File.writable?(File.dirname(target))
      STDOUT.reopen(target, "a")
      STDOUT.sync = true
      STDERR.reopen(STDOUT)
    else
      error("log file is not writable", {
        :log_file => target
      })
    end
  end
end