class Fluent::Supervisor::LoggerInitializer

Public Class Methods

new(path, level, chuser, chgroup, opts) click to toggle source
# File lib/fluent/supervisor.rb, line 41
def initialize(path, level, chuser, chgroup, opts)
  @path = path
  @level = level
  @chuser = chuser
  @chgroup = chgroup
  @opts = opts
end

Public Instance Methods

init() click to toggle source
# File lib/fluent/supervisor.rb, line 49
def init
  if @path && @path != "-"
    @io = File.open(@path, "a")
    if @chuser || @chgroup
      chuid = @chuser ? Supervisor.get_etc_passwd(@chuser).uid : nil
      chgid = @chgroup ? Supervisor.get_etc_group(@chgroup).gid : nil
      File.chown(chuid, chgid, @path)
    end
  else
    @io = STDOUT
  end

  $log = Fluent::Log.new(@io, @level, @opts)
  $log.enable_color(false) if @path
  $log.enable_debug if @level <= Fluent::Log::LEVEL_DEBUG
end
level=(level) click to toggle source
# File lib/fluent/supervisor.rb, line 77
def level=(level)
  @level = level
  $log.level = level
end
reopen!() click to toggle source
# File lib/fluent/supervisor.rb, line 70
def reopen!
  if @path && @path != "-"
    @io.reopen(@path, "a")
  end
  self
end
stdout?() click to toggle source
# File lib/fluent/supervisor.rb, line 66
def stdout?
  @io == STDOUT
end