class StructuredEventLogger::Syslogger

Attributes

log_level[RW]
max_size[RW]

Public Class Methods

new(log_level = Syslog::LOG_INFO, max_size = 64 * 1024 - 1) click to toggle source
# File lib/structured_event_logger/syslogger.rb, line 10
def initialize(log_level = Syslog::LOG_INFO, max_size = 64 * 1024 - 1)
  @log_level, @max_size = log_level, max_size
end

Public Instance Methods

call(scope, event, hash, record) click to toggle source
# File lib/structured_event_logger/syslogger.rb, line 14
def call(scope, event, hash, record)
  message = ActiveSupport::JSON.encode(record)
  raise MessageExceedsMaximumSize, "Event too big to be submitted to syslog" if message.bytesize > max_size
  Syslog.log(log_level, '%s', message)
end