class Fluent::Logger::LevelFluentLogger

Public Class Methods

new(tag_prefix = nil, *args) click to toggle source
# File lib/fluent/logger/level_fluent_logger.rb, line 28
def initialize(tag_prefix = nil, *args)
  @level = ::Logger::DEBUG
  @default_formatter = proc do |severity, datetime, progname, message|
    map = { level: severity }
    map[:message] = message if message
    map[:progname] = progname if progname
    map
  end
  @fluent_logger = FluentLogger.new(tag_prefix, *args)
end

Public Instance Methods

add(severity, message = nil, progname = nil) { || ... } click to toggle source
# File lib/fluent/logger/level_fluent_logger.rb, line 39
def add(severity, message = nil, progname = nil, &block)
  severity ||= UNKNOWN
  if severity < @level
    return true
  end
  progname ||= @progname
  if message.nil?
    if block_given?
      message = yield
    else
      message = progname
      progname = @progname
    end
  end
  map = format_message(format_severity(severity), Time.now, progname, message)
  @fluent_logger.post(format_severity(severity).downcase, map)
  true
end
close() click to toggle source
# File lib/fluent/logger/level_fluent_logger.rb, line 58
def close
  @fluent_logger.close
end
connect?() click to toggle source
# File lib/fluent/logger/level_fluent_logger.rb, line 68
def connect?
  @fluent_logger.connect?
end
reopen() click to toggle source
# File lib/fluent/logger/level_fluent_logger.rb, line 62
def reopen
  @fluent_logger.close
  # we do not call #connect! here because 1) FluentLogger#connect! is not a public method
  # 2) #post automatically connects if its connection is closed
end