module Embulk::Input::Elasticsearch::Traceable

Public Class Methods

new(e, more_msg = nil) click to toggle source
Calls superclass method
# File lib/embulk/input/elasticsearch/error.rb, line 7
def initialize(e, more_msg = nil)
  message = e.is_a?(String) ? '' : "(#{e.class}) "
  message << "#{e}#{more_msg}\n"
  message << "\tat #{e.backtrace.join("\n\tat ")}\n" if e.respond_to?(:backtrace)

  while e.respond_to?(:cause) and e.cause
    # Java Exception cannot follow the JRuby causes.
    message << "Caused by (#{e.cause.class}) #{e.cause}\n"
    message << "\tat #{e.cause.backtrace.join("\n\tat ")}\n" if e.cause.respond_to?(:backtrace)
    e = e.cause
  end

  super(message)
end