0

Raygun ロギングを AngularJS アプリケーションに追加するエラー ロギング モジュールを作成しています。標準的な方法は、次の$exceptionHandlerようにデコレータを登録することです。

$provide.decorator("$exceptionHandler", ['$delegate', function($delegate) {
    return function (exception, cause) {
      Raygun.send(exception);
      $delegate(exception, cause);
    }
  }])

ただし、DI フレームワークが最初に読み込まれる前にデコレータをインストールする必要があるという点で、これには順序依存性があります$exceptionHandler。このコードをモジュールにラップすると、順序の依存性はさらに明白ではなくなり、クライアントが間違った順序で物事を初期化しやすくなり、Raygun.send呼び出されない理由がわかりません。(私は 1 日半そのクライアントでした。弁明しますが、Angular を使用したのはこれが初めてです。)

Angular の DI フレームワークにエラー ログ モジュールをロードするよう説得したいと思います$exceptionHandler。モジュールを の依存関係として登録しようと考えました$exceptionHandlerが、まだその方法を理解できていません。また$exceptionHandler、コードに依存していることは実際には真実ではありません。私が見逃しているこれを行うための慣用的な方法はありますか?

4

1 に答える 1