class LogStasher::MailerLogSubscriber

Constants

MAILER_FIELDS

Public Instance Methods

deliver(event) click to toggle source
# File lib/logstasher/log_subscriber.rb, line 100
def deliver(event)
  process_event(event, ['mailer', 'deliver'])
end
logger() click to toggle source
# File lib/logstasher/log_subscriber.rb, line 112
def logger
  LogStasher.logger
end
process(event) click to toggle source
# File lib/logstasher/log_subscriber.rb, line 108
def process(event)
  process_event(event, ['mailer', 'process'])
end
receive(event) click to toggle source
# File lib/logstasher/log_subscriber.rb, line 104
def receive(event)
  process_event(event, ['mailer', 'receive'])
end

Private Instance Methods

extract_metadata(payload) click to toggle source
# File lib/logstasher/log_subscriber.rb, line 124
def extract_metadata(payload)
  payload.slice(*MAILER_FIELDS)
end
process_event(event, tags) click to toggle source
# File lib/logstasher/log_subscriber.rb, line 118
def process_event(event, tags)
  data = LogStasher.request_context.merge(extract_metadata(event.payload))
  event = LogStash::Event.new('@source' => LogStasher.source, '@fields' => data, '@tags' => tags)
  logger << event.to_json + "\n"
end