Ruby
 Computer >> コンピューター >  >> プログラミング >> Ruby

ラーテルジェム4.0がリリースされました!

先週、honeybadgerのバージョン4.0.0をリリースしました。 Rubygem。このリリースには待望の機能が含まれており、Honeybadgerに送信する前にエラーレポートをさらに簡単にカスタマイズできます。また、非常に必要とされていたリファクタリングをいくつか行い、適切な対策のためにいくつかの削除と非推奨を行いました。ただし、心配する必要はありません。ほとんどのAPIは変更されていないため、アップグレードはほとんどのユーザーにとって比較的簡単なプロセスです。

before_notifyの紹介 コールバック

honeybadgerの以前のバージョン gemは、報告されたエラーのさまざまな側面をカスタマイズするために使用できる3つのコールバックを提供しました。

  1. Honeybadger.backtrace_filter —Honeybadgerに報告されるバックトレースを変更するためのコールバック
  2. Honeybadger.exception_fingerprint —Honeybadgerのエラーのグループ化をカスタマイズするためのコールバック
  3. Honeybadger.exception_filter —エラーレポートを完全にスキップする必要があるかどうかを判断するためのコールバック

これらのコールバック以外に、エラーメッセージ、タグ、リクエストデータなど、エラーレポート内の他のデータをローカルでレスキューしてレポートする以外に、グローバルな方法はありませんでした。ここで、新しいbefore_notify コールバックが入ります。実際、新しいコールバックは非常に用途が広いため、現在は廃止されている以前の3つのコールバックすべてを完全に置き換えています。

今後は、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のほとんどのユーザーにとって、アップグレードは問題なく行われるはずです。上記の3つのコールバックを使用している場合は、before_notifyを使用するようにコールバックを更新する必要があります。 代わりに、NoticeのパブリックAPIの一部として、他のいくつかの小さな変更を加える可能性があります (コールバックに渡されるオブジェクト)が少し変更されました。

詳細情報:

  • 3.xから4.xへのアップグレードガイド
  • 完全なCHANGELOG

  1. 起動ディスクが検出されないか、ディスクに障害が発生した [解決済み]

    ブート ディスクが検出されない、またはディスクに障害が発生しました [解決済み]: エラー自体は、起動ディスクが検出されなかったことを示しています。これは、起動構成が正しく設定されていないか、ハードディスクが破損していることを意味します。ブート構成は BIOS (Basic Input/Output System) セットアップで変更できますが、ハードディスクが修復できないほど破損している場合は、更新する必要があります。システムがオペレーティング システムのロードに必要なブート情報を見つけられない場合、次のエラー メッセージが表示されます:ブート ディスクが検出されないか、ディスクに障害が発生

  2. 修正タスクの画像が破損しているか、改ざんされています

    修正タスクの画像が壊れているか、改ざんされています: タスク スケジューラで特定のタスクを実行しようとすると、「タスク イメージが破損しているか、改ざんされています」というエラー メッセージが表示される場合があります。メッセージ自体は、タスクが破損しているか、サードパーティのアプリがタスク スケジューラ タスクを台無しにしている可能性があることを示しています。このエラーは通常、ユーザーがシステムでバックアップを構成しようとしているときに発生しますが、突然このエラーがポップアップします。この特定のタスクは破損しているため実行できません。このエラーに対処する唯一の方法は、破損したタスクを削除するこ