web-dev-qa-db-ja.com

アプリの起動時にFirebaseがステータスの更新を記録しないようにする方法

FireBaseアプリを起動するたびに、さまざまなFirebase機能のステータスがログに記録されます。現在、これがログに記録されています。

Configuring the default app.

<FIRAnalytics/INFO> Firebase Analytics v.3200000 started

<FIRAnalytics/INFO> To enable debug logging set the following application argument: -FIRAnalyticsDebugEnabled (see ...)

<FIRAnalytics/INFO> Successfully created Firebase Analytics App Delegate Proxy automatically. To disable the proxy, set the flag FirebaseAppDelegateProxyEnabled to NO in the Info.plist

<FIRInstanceID/WARNING> FIRInstanceID AppDelegate proxy enabled, will swizzle app delegate remote notification handlers. To disable add "FirebaseAppDelegateProxyEnabled" to your Info.plist and set it to NO

<FIRAnalytics/INFO> Firebase Analytics enabled

ポッドに目を通しましたが、印刷ステートメントが見つからなかったので、アプリを実行して時間外にログに記録されないようにするにはどうすればよいでしょうか?

71
TekShock

フラグ-FIRDebugDisabledを使用して、デバッグロギングを無効にできます。

それを scheme に追加できます:

  1. Schemeツールバーを選択します
  2. スキームの編集
  3. 選択実行
  4. [引数]をクリックして、-FIRDebugDisabledを追加します
81
Ian Barber

ロギングの最小量を達成するには、FirebaseConfiguration.shared.setLoggerLevel(.min)の前にFirebaseApp.configure()を追加します。

func setupFirebase() {
  FirebaseConfiguration.shared.setLoggerLevel(.min)
  FirebaseApp.configure()
}
44

デフォルトでは、Firebaseは情報、エラー、警告を記録します。
したがって、必要なロガーレベルを設定できます。
。Errorを設定すると、エラーが発生した場合にのみ最小ログを取得します。

以下に示すように、FirebaseApp.configure()の前のsetLoggerLevel

Swift 2.3およびFirebase 4

 FirebaseConfiguration.sharedInstance().setLoggerLevel(.Error)
 FirebaseApp.configure()

Swift 3およびFirebase 4

 FirebaseConfiguration.shared.setLoggerLevel(.min)
 FirebaseApp.configure()
12
Sujay U N

私の場合、Firebaseからコンソールログの余分な部分を隠すために、次のことを行いました。

  1. 製品->スキーム->スキームの編集に移動します。
  2. [環境変数]セクションの[引数]タブで、OS_ACTIVITY_MODE = disableを追加します。

enter image description here

  • 必要な場合に備えて、単にチェックボックスをオフにします。
  • OS_ACTIVITY_MODEを無効にすると、すべての例外のログも無効になる場合があります

Edit 1:@ jesus-adolfo-rodriguezが言ったように、これはXcodeに関連しています。そのため、XcodeコンソールでOSLogが必要ない場合は、スキームでOS_ACTIVITY_MODE環境変数を「無効」に設定します。


編集2:

FirebaseConfiguration.shared.setLoggerLevel(FirebaseLoggerLevel.min)
FirebaseApp.configure()

FIRConfiguration実装の詳細 here

5
Jorge Casariego

デフォルトでは、Firebase Analyticsは本番環境で4行のINFO行とエラー/警告のみを記録します。物事が正しく機能している場合、出力はほとんどありません。 -noFIRAnalyticsDebugEnabledを追加すると、DEBUGレベルのログのみが無効になり、ERROR/WARNは常にログに記録されます。警告またはエラーが表示された場合、おそらく原因を解決するために何かをする必要があります。警告/エラーがログに記録された場合、いくつかのことが正しく機能しない可能性があります。正しくセットアップされたアプリは、エラー/警告を記録するべきではありません。

FIRInstanceID/*でタグ付けされたメッセージはFirebase Notificationによって記録され、エラー/警告は常に記録されます。

4
djabi
FIRConfiguration.sharedInstance().setLoggerLevel(.min)
FIRApp.configure()

Swift 4

4

Swift 4 Firebase 4.10

AppDelegate.Swiftでロガーレベルを設定します

FirebaseConfiguration().setLoggerLevel(FirebaseLoggerLevel.min)

完全なコードは次のとおりです。

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    FirebaseConfiguration().setLoggerLevel(FirebaseLoggerLevel.min)
    FirebaseApp.configure()
    return true
}
4

Djabiが言ったように、それらがINFO、WARNINGまたはERRORである場合、それらのログを無効にすることはできません。

コメントできないので、Nitin Gohelの答えに追加したいと思います。フラグFirebaseAppDelegateProxyEnabledは、ログを無効にするためのものではありません。これをオフにすると、自動キャンペーントラッキングが失われ、URLとユーザーアクティビティを自分で処理するためにFIRAnalytics(AppDelegate)からメソッドを追加する必要があります。

3
adbitx

アレックスの答えに追加するには、 https://firebase.google.com/docs/cloud-messaging/ios/client から

FirebaseAppDelegateProxyEnabledは、アプリのデリゲートのメソッドをスウィズルするためのものです

FCM APIは、APNsトークンをFCM登録トークンにマッピングすることと、ダウンストリームメッセージコールバック処理中に分析データをキャプチャすることの2つの主要な領域でメソッドスウィズルを実行します。開発者は、アプリのInfo.plistファイルにフラグFirebaseAppDelegateProxyEnabledを追加し、NO(ブール値)に設定することで、スウィズリングを使用しないことを無効にできます。ガイドの関連領域では、メソッドスウィズルを有効または無効にしたコード例を示します。

3
onmyway133