lib/semantic_logger/log.rb
# Call the block for exception and any nested exception
Call the block for exception and any nested exception
Call the block for exception and any nested exception
def each_exception
      depth      = 0
      exceptions = []
      ex         = exception
      while ex != nil && !exceptions.include?(ex) && exceptions.length < MAX_EXCEPTIONS_TO_UNWRAP
        exceptions << ex
        yield(ex, depth)
        depth += 1
        ex    =
          if ex.respond_to?(:cause) && ex.cause
            ex.cause
          elsif ex.respond_to?(:continued_exception) && ex.continued_exception
            ex.continued_exception
          elsif ex.respond_to?(:original_exception) && ex.original_exception
            ex.original_exception
          end
      end
    end
def each_exception depth = 0 exceptions = [ ] ex = exception while ex != nil && ! exceptions . include? ( ex ) && exceptions . length < MAX_EXCEPTIONS_TO_UNWRAP exceptions << ex yield ( ex , depth ) depth += 1 ex = if ex . respond_to? ( :cause ) && ex . cause ex . cause elsif ex . respond_to? ( :continued_exception ) && ex . continued_exception ex . continued_exception elsif ex . respond_to? ( :original_exception ) && ex . original_exception ex . original_exception end end end
Call the block for exception and any nested exception
Call the block for exception and any nested exception
# With thanks to https://github.com/bugsnag/bugsnag-ruby/blob/6348306e44323eee347896843d16c690cd7c4362/lib/bugsnag/notification.rb#L81