Class: Fluent::Supervisor::LoggerInitializer

Inherits:
Object
  • Object
show all
Defined in:
lib/fluent/supervisor.rb

Instance Method Summary collapse

Constructor Details

#initialize(path, level, chuser, chgroup, opts, log_rotate_age: nil, log_rotate_size: nil) ⇒ LoggerInitializer

Returns a new instance of LoggerInitializer.



304
305
306
307
308
309
310
311
312
# File 'lib/fluent/supervisor.rb', line 304

def initialize(path, level, chuser, chgroup, opts, log_rotate_age: nil, log_rotate_size: nil)
  @path = path
  @level = level
  @chuser = chuser
  @chgroup = chgroup
  @opts = opts
  @log_rotate_age = log_rotate_age
  @log_rotate_size = log_rotate_size
end

Instance Method Details

#initObject



314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
# File 'lib/fluent/supervisor.rb', line 314

def init
  if @path && @path != "-"
    @logdev = if @log_rotate_age || @log_rotate_size
               Fluent::LogDeviceIO.new(@path, shift_age: @log_rotate_age, shift_size: @log_rotate_size)
             else
               File.open(@path, "a")
             end
    if @chuser || @chgroup
      chuid = @chuser ? ServerEngine::Privilege.get_etc_passwd(@chuser).uid : nil
      chgid = @chgroup ? ServerEngine::Privilege.get_etc_group(@chgroup).gid : nil
      File.chown(chuid, chgid, @path)
    end
  else
    @logdev = STDOUT
  end

  dl_opts = {}
  # subtract 1 to match serverengine daemon logger side logging severity.
  dl_opts[:log_level] = @level - 1
  logger = ServerEngine::DaemonLogger.new(@logdev, dl_opts)
  $log = Fluent::Log.new(logger, @opts)
  $log.enable_color(false) if @path
  $log.enable_debug if @level <= Fluent::Log::LEVEL_DEBUG
end

#level=(level) ⇒ Object



350
351
352
353
# File 'lib/fluent/supervisor.rb', line 350

def level=(level)
  @level = level
  $log.level = level
end

#reopen!Object



343
344
345
346
347
348
# File 'lib/fluent/supervisor.rb', line 343

def reopen!
  if @path && @path != "-"
    @logdev.reopen(@path, "a")
  end
  self
end

#stdout?Boolean

Returns:

  • (Boolean)


339
340
341
# File 'lib/fluent/supervisor.rb', line 339

def stdout?
  @logdev == STDOUT
end