class LogStasher::MailerLogSubscriber

Constants

MAILER_FIELDS

Public Instance Methods

deliver(event) click to toggle source
# File lib/logstasher/log_subscriber.rb, line 105
def deliver(event)
  process_event(event, ['mailer', 'deliver'])
end
logger() click to toggle source
# File lib/logstasher/log_subscriber.rb, line 117
def logger
  LogStasher.logger
end
process(event) click to toggle source
# File lib/logstasher/log_subscriber.rb, line 113
def process(event)
  process_event(event, ['mailer', 'process'])
end
receive(event) click to toggle source
# File lib/logstasher/log_subscriber.rb, line 109
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 129
def extract_metadata(payload)
  payload.slice(*MAILER_FIELDS)
end
process_event(event, tags) click to toggle source
# File lib/logstasher/log_subscriber.rb, line 123
def process_event(event, tags)
  data = LogStasher.request_context.merge(extract_metadata(event.payload))
  event = LogStash::Event.new(data.merge('source' => LogStasher.source, 'tags' => tags))
  logger << event.to_json + "\n"
end