class Ama::Logger::Formatter::StringifiedHash
Attributes
event_name[RW]
filters[RW]
regex[RW]
Public Class Methods
new(opts = {})
click to toggle source
# File lib/ama/logger/formatter/stringified_hash.rb, line 9 def initialize(opts = {}) self.filters = opts.fetch(:filters) { [] } .select { |p| p.is_a?(Symbol) || p.is_a?(String) } .map(&:to_s) .join('|') self.regex = /:(?<name>#{filters})=>"(?<value>[^"]*)"/ self.event_name = opts.fetch(:event_name) { 'log.rails' } end
Public Instance Methods
call(severity, time, progname, msg)
click to toggle source
# File lib/ama/logger/formatter/stringified_hash.rb, line 18 def call(severity, time, progname, msg) { eventName: event_name, eventSource: progname || self.class.name, eventId: SecureRandom.uuid, eventAgent: Ama::Logger::AGENT_VERSION, severity: severity, details: msg.gsub(regex, ':\k<name>=>"[FILTERED]"'), timestamp: time.utc.iso8601 } .compact .to_json .concat("\n") end