web-dev-qa-db-fra.com

Comment empêcher Firebase de consigner les mises à jour de statut lorsque l'application est lancée

Chaque fois que je lance l'application FireBase, elle enregistre le statut de diverses fonctionnalités de Firebase. En ce moment, voici ce qui est enregistré:

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

J'ai regardé à travers les modules et je n'ai trouvé aucune déclaration d'impression. Alors, comment pourrais-je m'arrêter pour les empêcher d'être enregistrées en heures supplémentaires, puis-je exécuter l'application?

74
TekShock

Vous pouvez désactiver la journalisation du débogage avec l'indicateur -FIRDebugDisabled.

Vous pouvez l'ajouter à votre schéma :

  1. Barre d'outils Sélection Scheme
  2. Éditer le schéma
  3. Sélectionnez Exécuter
  4. Cliquez sur Arguments et ajoutez -FIRDebugDisabled
85
Ian Barber

Ajoutez FirebaseConfiguration.shared.setLoggerLevel(.min) avant FirebaseApp.configure() pour atteindre le minimum de journalisation.

func setupFirebase() {
  FirebaseConfiguration.shared.setLoggerLevel(.min)
  FirebaseApp.configure()
}
45
Raphael Oliveira

Par défaut, Firebase enregistre les informations, les erreurs et les avertissements.
Vous pouvez ainsi définir le niveau de l’enregistreur pour tous les besoins.
Si vous définissez pour .Error, vous n'obtiendrez un journal minimal que lorsque l'erreur se produira.

setLoggerLevel avant FirebaseApp.configure () comme indiqué ci-dessous

Dans Swift 2.3 et Firebase 4

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

Dans Swift 3 et Firebase 4

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

Dans mon cas, pour masquer la partie supplémentaire du journal de la console à Firebase, j'ai procédé comme suit:

  1. Naviguez jusqu'à Product -> Scheme -> Edit Scheme.
  2. Sous l'onglet Arguments de la section Variables d'environnement, ajoutez OS_ACTIVITY_MODE = disable

enter image description here

  • Au cas où vous en auriez besoin, décochez simplement la case.
  • Désactiver OS_ACTIVITY_MODE désactive parfois les journaux pour toutes les exceptions.

Edit 1 : Comme @ jesus-adolfo-rodriguez a dit, cela est lié à Xcode. Donc, si vous ne voulez pas OSLog sur la console Xcode, mettez la variable d’environnement OS_ACTIVITY_MODE sur "désactiver" dans votre schéma.


Edit 2:

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

Plus de détails dans l'implémentation de FIRConfiguration ici

6
Jorge Casariego
FIRConfiguration.sharedInstance().setLoggerLevel(.min)
FIRApp.configure()

Dans Swift 4

5

Swift 4 Firebase 4.10

Définir le niveau de journalisation dans votre AppDelegate.Swift

FirebaseConfiguration().setLoggerLevel(FirebaseLoggerLevel.min)

Voici le code complet:

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

Par défaut, Firebase Analytics n'enregistrera que 4 lignes INFO en production + erreurs/avertissements. Cela devrait être très limité si les choses fonctionnent correctement. L'ajout de -noFIRAnalyticsDebugEnabled désactive uniquement les journaux de niveau DEBUG et ERROR/WARN sont toujours consignés. Si vous voyez des avertissements ou des erreurs, vous devrez probablement faire quelque chose pour résoudre le problème. Certaines choses risquent de ne pas fonctionner correctement si des avertissements/erreurs sont enregistrés. Une application correctement configurée ne doit pas enregistrer les erreurs/avertissements.

Les messages étiquetés avec FIRInstanceID/* sont consignés par Firebase Notification et les erreurs/avertissements sont toujours consignés.

4
djabi

Comme l'a dit Djabi, vous ne pouvez pas désactiver ces journaux s'ils sont INFO, WARNING ou ERROR.

Je souhaite ajouter à la réponse de Nitin Gohel car je ne peux pas commenter: L'indicateur FirebaseAppDelegateProxyEnabled n'est pas destiné à la désactivation des journaux. Si vous le désactivez, vous perdrez le suivi automatique campaign et vous devrez ajouter les méthodes de FIRAnalytics (AppDelegate) pour gérer vous-même les URL et l'activité de l'utilisateur.

3
adbitx

Pour ajouter à la réponse d'Alex, à partir de https://firebase.google.com/docs/cloud-messaging/ios/client

FirebaseAppDelegateProxyEnabled est destiné aux méthodes de votre délégué d'application

L'API FCM exécute les méthodes dans deux domaines clés: mapper votre jeton APNs sur le jeton d'enregistrement FCM et capturer des données analytiques lors de la gestion des rappels de messages en aval. Les développeurs qui préfèrent ne pas utiliser swizzling peuvent le désactiver en ajoutant le drapeau FirebaseAppDelegateProxyEnabled dans le fichier Info.plist de l'application et en le définissant sur NO (valeur booléenne). Des zones pertinentes des guides fournissent des exemples de code, avec ou sans méthode activée.

3
onmyway133