Advertisement
Guest User

Untitled

a guest
Aug 28th, 2015
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.98 KB | None | 0 0
  1.  
  2.  
  3. class Api < Grape::API
  4.  
  5. class << self
  6.  
  7. def log_exception(exception)
  8. trace = exception.backtrace
  9.  
  10. message = "\n#{exception.class} (#{exception.message}):\n"
  11. message << exception.annoted_source_code.to_s if exception.respond_to?(:annoted_source_code)
  12. message << " " << trace.join("\n ")
  13.  
  14. Rails.logger.error(message)
  15. end
  16. end
  17.  
  18. rescue_from AuctionsList::RecordNotFound, ActiveRecord::RecordNotFound do |exception|
  19. Api.log_exception(exception)
  20.  
  21. rack_response(MultiJson.dump({ message: '未找到', status: 404, success: false }), 404 )
  22. end
  23.  
  24. rescue_from Grape::Exceptions::ValidationErrors do |exception|
  25. Api.log_exception(exception)
  26.  
  27. rack_response(MultiJson.dump({ message: "#{exception.message}", status: 400, success: false }), 200)
  28. end
  29.  
  30. rescue_from :all do |exception|
  31. Api.log_exception(exception)
  32.  
  33. rack_response(MultiJson.dump({ message: "未知错误", status: 500, success: false }), 200)
  34.  
  35. raise exception
  36. end
  37. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement