2017-09-04 7 views
1

基本的にロギングとアサーションの動作を包括するカスタム関数が用意されています。特に、assertクラス関数とfatalクラス関数があります。両方ともログを生成し、assert()またはfatal()に進みます。手動で呼び出されるCrashlyticsクラッシュにカスタム関数/行/ファイル情報を提供する方法

私の特定のケースでは、私はCrashlyticsをインストールしました。したがって、生成されたログメッセージはCLSLogv()にも送られます。 assert()/ fatal()は、Crashlyticsクラッシュレポートを生成します。これらはすべて正常に動作します。

私の問題はCrashlyticsダッシュボードにあります。基本的には、問題のタイトルと説明としてラッパー機能/ファイル/行情報が表示されます。本質的には、異なる原因/呼び出し元にもかかわらず、すべての単一のアサーションイベントは、Crashlyticsダッシュボードで同じように見えます。 crash()は関数/ line/fileの引数を許可しないので、assert()/ fatal()の代わりにCrashlytics.sharedSession()。crash()を呼び出すことは役に立ちません。

これを行う方法は他にありますか?または、これは本質的にCrashlytics/Fabric/Googleに対する強化要求ですか?ありがとう! #file#function#line#column

+1

マイクからのファブリックはこちら。以下の答えは、このカスタム情報と機能要求を追加する最良の方法です。 –

+0

うん。私はログに情報を得ることができます。しかし、問題の迅速な区別を可能にするために、正しいクラッシュ機能/行/ファイル情報がダッシュボードのタイトルとして表示されることを期待していました。それでは、個々の問題をクリックしてスタックやログを調べる必要があります – BiscottiGelato

+0

ありがとうございました!グループ分けする方法をカスタマイズする方法はありません。あなたがアサートまたはチェックしようとしているものによっては、致命的ではない例外アプローチも考えられます:https://docs.fabric.io/apple/crashlytics/logged-errors.htmlアサーションが真でない場合、ほとんどのアサーションがハードに失敗することを意図しているかどうかをチェックしようとします。 –

答えて

1

スウィフトは、これらの特別な値を使用することができます。 CLSLogv()でそれらを使用すると、あなたのコードが通過した正確な場所を見つけるのに役立つことがあります。

CLSLogv("I was here: %@.%@, %i:%i", getVaList([ #file, #function, #line, #column ])) 

の検索結果をCrashlyticsダッシュボードに:

1 | 2017-09-05T08:32:22.088Z | I was here: /Users/.../SettingsTableViewController.swift.viewDidLoad(), 27:82 

希望はこれが:)に役立ちます。

+0

私は関数/行/ファイルをログに入れても問題ありません。しかし、クラッシュタイトルはまだ私のラッパーです。私はクラッシュのタイトルについてもっと詳しく話していますので、ダッシュボードからの一瞥とは別に、さまざまな問題をログに簡単に伝えるのがずっと簡単です。 これは私のログが現在どのようになっているかです: | \t 04:41:45:715(UTC)\t | | \t 5 | | 000A5F62 | JournalViewController.swift:260 | displayMoment |マークアップは使用できません。瞬時にロードされたと見なされます しかし、Crashlyticsダッシュボードはまだラッパー情報でのみ覆われています。 ![Screenshot](https://ibb.co/kabfgv) – BiscottiGelato

+0

@BiscottiGelato私は、ダッシュボードに表示されるクラッシュのタイトルを変更できる設定を認識していません... – nyg

関連する問題