Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

허니배저 젬 4.0이 출시되었습니다!

지난 주에 honeybadger 버전 4.0.0을 출시했습니다. 루비 보석. 이 릴리스에는 오랫동안 기다려온 기능이 포함되어 있어 오류 보고서가 Honeybadge로 전송되기 전에 더 쉽게 사용자 정의할 수 있습니다. 우리는 또한 매우 필요한 리팩토링을 수행했으며 적절한 조치를 위해 몇 가지 제거 및 사용 중단을 만들었습니다. 하지만 걱정하지 마세요. 대부분의 API는 변경되지 않은 상태로 유지되므로 대부분의 사용자에게 업그레이드 과정이 비교적 수월할 것입니다.

before_notify 소개 콜백

honeybadger의 이전 버전 gem은 보고된 오류의 다양한 측면을 사용자 정의하는 데 사용할 수 있는 세 가지 콜백을 제공했습니다.

  1. Honeybadger.backtrace_filter — Honeybadge에 보고되는 역추적을 수정하기 위한 콜백
  2. Honeybadger.exception_fingerprint — Honeybadge의 오류 그룹화를 사용자 정의하기 위한 콜백
  3. Honeybadger.exception_filter — 오류 보고서를 완전히 건너뛸지 여부를 결정하는 콜백

이러한 콜백 외에 오류 메시지, 태그 또는 요청 데이터와 같은 오류 보고서의 다른 데이터를 전역적으로 변경하는 방법은 지역적으로 예외를 구하고 보고하는 것 외에는 없습니다. 새로운 before_notify가 바로 여기에 있습니다. 콜백이 들어옵니다. 사실, 새로운 콜백은 매우 다재다능해서 지금은 더 이상 사용되지 않는 이전 콜백 세 개를 모두 완전히 대체합니다.

앞으로 before_notify를 사용할 수 있습니다. 이러한 모든 작업 등을 수행하기 위한 콜백. Honeybadger를 구성할 때 더 큰 유연성을 제공하는 다중 콜백도 지원됩니다.

Honeybadger.configure do |config|

  # Ignore an error report
  # Replaces Honeybadger.exception_filter
  config.before_notify do |notice|
    notice.halt! if notice.controller == 'auth'
  end

  # Modify the backtrace
  # Replaces Honeybadger.backtrace_filter
  config.before_notify do |notice|
    notice.backtrace.reject!{|l| l =~ /gem/ }
  end

  # Customize error grouping
  # Replaces Honeybadger.exception_fingerprint
  config.before_notify do |notice|
    notice.fingerprint = 'new fingerprint'
  end

  # Change all the properties!
  config.before_notify do |notice|
    notice.api_key = 'custom api key'
    notice.error_message = "badgers!"
    notice.error_class = 'MyError'
    notice.backtrace = ["/path/to/file.rb:5 in `method'"]
    notice.fingerprint = 'some unique string'
    notice.tags = ['foo', 'bar']
    notice.context = { user: 33 }
    notice.controller = 'MyController'
    notice.action = 'index'
    notice.parameters = { q: 'badgers?' }
    notice.session = { uid: 42 }
    notice.url = "/badgers"
  end

end

새로운 before_notify에 대해 기쁘게 생각합니다. 콜백하고 앞으로 많은 새로운 옵션을 열 것이라고 믿습니다!

4.x로 업그레이드

3.x를 사용하는 대부분의 사용자에게 업그레이드는 별 문제가 없어야 합니다. 위에서 언급한 세 가지 콜백을 사용하는 경우 before_notify를 사용하도록 업데이트해야 합니다. 대신 Notice에 대한 공개 API의 일부로 몇 가지 다른 사소한 변경을 할 수 있습니다. (콜백에 전달된 개체)가 약간 변경되었습니다.

추가 정보:

  • 3.x에서 4.x로 업그레이드 가이드
  • CHANGELOG 완료