class ElasticAPM::Serializers::Errors
@api private
def build(error)
def build(error) base = { id: error.id, culprit: error.culprit, timestamp: micros_to_time(error.timestamp).utc.iso8601(3), context: error.context.to_h } if (exception = error.exception) base[:exception] = build_exception exception end if (log = error.log) base[:log] = build_log log end if (transaction_id = error.transaction_id) base[:transaction] = { id: transaction_id } end base end
def build_all(errors)
def build_all(errors) { errors: Array(errors).map { |e| build(e) } } end
def build_exception(exception)
def build_exception(exception) { message: exception.message, type: exception.type, module: exception.module, code: exception.code, attributes: exception.attributes, stacktrace: exception.stacktrace.to_a, handled: exception.handled } end
def build_log(log)
def build_log(log) { message: log.message, level: log.level, logger_name: log.logger_name, param_message: log.param_message, stacktrace: log.stacktrace.to_a } end