class Logson::Logger

Attributes

hostname[RW]

Public Class Methods

new(*args) click to toggle source
Calls superclass method
# File lib/logson/logger.rb, line 5
def initialize(*args)
  super(*args)

  self.hostname = Socket.gethostname
  self.formatter = lambda do |severity, date, progname, msg|
    date = date.utc.iso8601 if date.is_a?(Time)
    data = {
      '_severity' => severity, '_date' => date, '_source' => progname,
      '_host' => hostname
    }
    if msg.is_a?(Hash)
      data = data.merge(msg)
    else
      data['message'] = msg
    end
    JSON.dump(data) + "\n"
  end.freeze
end

Public Instance Methods

source() click to toggle source
# File lib/logson/logger.rb, line 28
def source
  self.progname
end
source=(value) click to toggle source
# File lib/logson/logger.rb, line 24
def source=(value)
  self.progname = value
end