module Chihiro::Loggable
Private Instance Methods
log_and_deal_exceptions() { || ... }
click to toggle source
# File lib/chihiro/loggable.rb, line 18 def log_and_deal_exceptions log_request unless should_ignore_logging? yield log_response unless should_ignore_logging? end
log_exception(e)
click to toggle source
# File lib/chihiro/loggable.rb, line 47 def log_exception(e) to_log = { message: 'Catched exception in controller', requestPath: request.path, requestMethod: request.request_method, exceptionClass: e.class.to_s, exceptionMessage: e.message, backtrace: e.backtrace } Rails.logger.error(to_log) end
log_known_exception(e)
click to toggle source
# File lib/chihiro/loggable.rb, line 59 def log_known_exception(e) to_log = { message: 'Catched known exception in controller', requestPath: request.path, requestMethod: request.request_method, exceptionClass: e.class.to_s, exceptionMessage: e.message } Rails.logger.warn(to_log) end
log_request()
click to toggle source
# File lib/chihiro/loggable.rb, line 24 def log_request to_log = { message: 'Received API request', requestPath: request.path, requestMethod: request.request_method } if Rails.configuration.no_log_param_paths.include?("#{controller_name}##{action_name}") Rails.logger.debug(to_log) else Rails.logger.debug(to_log.merge(params: params.except(:format, :controller, :action).as_json)) end end
log_response()
click to toggle source
# File lib/chihiro/loggable.rb, line 37 def log_response to_log = { message: 'Send API Response', requestPath: request.path, requestMethod: request.request_method, responseStatus: response.status.to_s } Rails.logger.debug(to_log) end
should_ignore_logging?()
click to toggle source
# File lib/chihiro/loggable.rb, line 13 def should_ignore_logging? return true unless Rails.configuration.lograge.ignore_actions Rails.configuration.lograge.ignore_actions.include?("#{controller_name.camelize}Controller##{action_name}") end