module Kiev::RequestLogger::Mixin
Constants
- LOG_ERROR
- NEW_LINE
Public Instance Methods
wrap_request_logger(event, **data) { || ... }
click to toggle source
# File lib/kiev/request_logger.rb, line 9 def wrap_request_logger(event, **data, &_block) began_at = Time.now error = nil begin return_value = yield rescue StandardError => e error = e end begin data[:request_duration] = ((Time.now - began_at) * 1000).round(3) if error data[:error_class] = error.class.name data[:error_message] = error.message[0..5000] data[:error_backtrace] = Array(error.backtrace).join(NEW_LINE)[0..5000] data[:level] = LOG_ERROR end Kiev.event(event, data) ensure raise error if error return_value end end