class TTY::Logger::Handlers::Raven
Attributes
config[R]
level[R]
Public Class Methods
new( output: $stderr, formatter: nil, config: nil, level: nil, styles: {} )
click to toggle source
# File lib/tty/logger/handlers/raven.rb, line 13 def initialize( output: $stderr, formatter: nil, config: nil, level: nil, styles: {} ) @config = config @level = level || @config.level @mutex = Mutex.new end
Public Instance Methods
call(event)
click to toggle source
@api public
# File lib/tty/logger/handlers/raven.rb, line 22 def call(event) @mutex.lock data = {} event.metadata.each do |meta| case meta when :file data[:path] = format_filepath(event) end end unless event.backtrace.empty? data[:type] = event.message.first&.class&.name data[:value] = event.message.first&.message end data.merge!(event.fields) unless event.fields.empty? ::Raven.breadcrumbs.record do |crumb| crumb.level = event.metadata[:level].to_s crumb.category = 'logger' crumb.message = event.message.join(' ') crumb.timestamp = event.metadata[:time].to_i crumb.type = event.backtrace.empty? ? 'default' : 'error' crumb.data = data end ensure @mutex.unlock end