class Fluentdly::Logger

Attributes

app_name[R]
datetime_format[RW]
host[R]
level[RW]
port[R]

Public Class Methods

new(config) click to toggle source
# File lib/fluentdly/logger.rb, line 8
def initialize config
  @host     = config.fetch(:host,     'localhost')
  @port     = config.fetch(:port,     24224)
  @app_name = config.fetch(:app_name, 'myapp')
  @level    = Severity.info
end

Public Instance Methods

<<(content = nil, &block)
Alias for: info
add(severity, content = nil, &block)
Alias for: log
close() click to toggle source
# File lib/fluentdly/logger.rb, line 65
def close
  adapter.close
end
debug(content = nil, &block) click to toggle source
# File lib/fluentdly/logger.rb, line 28
def debug (content = nil, &block)
  log Severity.debug, content, &block
end
debug?() click to toggle source
# File lib/fluentdly/logger.rb, line 25
def debug?
  level <= Severity.debug
end
error(content = nil, &block) click to toggle source
# File lib/fluentdly/logger.rb, line 50
def error (content = nil, &block)
  log Severity.error, content, &block
end
error?() click to toggle source
# File lib/fluentdly/logger.rb, line 47
def error?
  level <= Severity.error
end
fatal(content = nil, &block) click to toggle source
# File lib/fluentdly/logger.rb, line 57
def fatal (content = nil, &block)
  log Severity.fatal, content, &block
end
fatal?() click to toggle source
# File lib/fluentdly/logger.rb, line 54
def fatal?
  level <= Severity.fatal
end
info(content = nil, &block) click to toggle source
# File lib/fluentdly/logger.rb, line 35
def info (content = nil, &block)
  log Severity.info, content, &block
end
Also aliased as: <<
info?() click to toggle source
# File lib/fluentdly/logger.rb, line 32
def info?
  level <= Severity.info
end
log(severity, content = nil, &block) click to toggle source
# File lib/fluentdly/logger.rb, line 15
def log severity, content = nil, &block
  message = content || block.call
  payload = format(message, severity)

  if level <= severity
    adapter.post(severity, payload)
  end
end
Also aliased as: add
unknown(content = nil, &block) click to toggle source
# File lib/fluentdly/logger.rb, line 61
def unknown (content = nil, &block)
  log Severity.unknown, content, &block
end
warn(content = nil, &block) click to toggle source
# File lib/fluentdly/logger.rb, line 43
def warn (content = nil, &block)
  log Severity.warn, content, &block
end
warn?() click to toggle source
# File lib/fluentdly/logger.rb, line 40
def warn?
  level <= Severity.warn
end

Private Instance Methods

adapter() click to toggle source
# File lib/fluentdly/logger.rb, line 81
def adapter
  @adapter ||= Fluent::Logger::FluentLogger.new(app_name, :host=>host, :port=>port)
end
format(content, severity) click to toggle source
# File lib/fluentdly/logger.rb, line 73
def format content, severity
  if content.is_a?(Hash)
    content.merge(:severity => severity, :service => app_name)
  else
    {:message => content, :severity => severity, :service => app_name}
  end
end