Module: BerkeleyLibrary::Logging::ExceptionSerializer
- Included in:
- SafeSerializer
- Defined in:
- lib/berkeley_library/logging/exception_serializer.rb
Instance Method Summary collapse
Instance Method Details
#serialize_exc(ex, serialized = Set.new) ⇒ Object
4 5 6 7 8 9 10 11 12 |
# File 'lib/berkeley_library/logging/exception_serializer.rb', line 4 def serialize_exc(ex, serialized = Set.new) raw_result = { name: ex.class.name, message: ex., stack: ex.backtrace } raw_result.tap do |result| next unless (cause = ex.cause) next if (serialized << ex).include?(cause) # prevent circular references result[:cause] = serialize_exc(cause, serialized) end end |