Chaque fois que je lance l'application FireBase, elle enregistre l'état de diverses fonctionnalités de Firebase. Pour le 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 pods et je n'ai trouvé aucune déclaration imprimée, alors comment pourrais-je empêcher ces derniers d'être enregistrés pendant les heures supplémentaires que j'exécute l'application?
Réponses:
Vous pouvez désactiver la journalisation du débogage avec l'indicateur
-FIRDebugDisabled
.Vous pouvez l'ajouter à votre schéma :
-FIRDebugDisabled
la source
-noFIRAnalyticsDebugEnabled
été renommé en-FIRDebugDisabled
. Les autres étapes sont les mêmes.Ajoutez
FirebaseConfiguration.shared.setLoggerLevel(.min)
avantFirebaseApp.configure()
pour obtenir le minimum de journalisation.la source
Par défaut, Firebase enregistre les informations, les erreurs et les avertissements.
Ainsi, vous pouvez définir le niveau de l'enregistreur pour chaque besoin.
Si vous définissez pour .Error, vous n'obtiendrez le journal min que lorsque l'erreur survient.
setLoggerLevel avant FirebaseApp.configure () comme indiqué ci-dessous
Dans Swift 2.3 et Firebase 4
Dans Swift 3 et Firebase 4
la source
Dans mon cas, pour masquer le morceau supplémentaire du journal de la console de Firebase, j'ai fait ce qui suit:
Edit 1 : Comme l'a dit @ jesus-adolfo-rodriguez, 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.
Modifier 2:
Plus de détails dans l'implémentation FIRConfiguration ici
Edit 3: 2019
Selon ce numéro: https://github.com/firebase/firebase-ios-sdk/issues/2774#issuecomment-482780714
L' ajout de l' argument -FIRDebugDisabled et le nettoyage du projet ont fait l'affaire.
Le système de journalisation dans Firebase
la source
setLoggerLevel(.min)
et-FIRDebugDisabled
. Très bonne réponse!Dans Swift 4
la source
FirebaseConfiguration.shared.setLoggerLevel(.min)
en FB 5.14Swift 4 Firebase 4.10
Définissez le niveau de journalisation dans votre AppDelegate.swift
Voici le code complet:
la source
Par défaut, Firebase Analytics n'enregistrera que 4 lignes INFO en production + erreurs / avertissements. Cela devrait être très peu de sortie si les choses fonctionnent correctement. L'ajout de -noFIRAnalyticsDebugEnabled ne désactivera que les journaux de niveau DEBUG et ERROR / WARN sont toujours enregistrés. Si vous voyez des avertissements ou des erreurs, vous devez probablement faire quelque chose pour résoudre la cause. Certaines choses ne fonctionneront probablement pas correctement si les avertissements / erreurs sont enregistrés. L'application correctement configurée ne doit pas enregistrer les erreurs / avertissements.
Les messages marqués avec FIRInstanceID / * sont enregistrés par Firebase Notification et les erreurs / avertissements sont toujours enregistrés.
la source
Comme djabi l'a dit, vous ne pouvez pas désactiver ces journaux s'ils sont INFO, WARNING ou ERROR.
Je veux ajouter à la réponse de Nitin Gohel car je ne peux pas commenter: Le drapeau FirebaseAppDelegateProxyEnabled n'est pas pour désactiver les journaux. Si vous le désactivez, vous perdrez le suivi automatique des campagnes et vous devrez ajouter les méthodes de FIRAnalytics (AppDelegate) pour gérer vous-même l'URL et l'activité des utilisateurs.
la source
Pour ajouter à la réponse d'Alex, depuis https://firebase.google.com/docs/cloud-messaging/ios/client
FirebaseAppDelegateProxyEnabled
est pour swizzling les méthodes de votre délégué d'applicationla source
Je pense qu'il existe une grande et très importante confusion.
En l'utilisant,
-FIRDebugDisabled
il désactivera le mode de débogage qui affectera alors vos mesures pendant les tests et le développement .Pour réduire les journaux:
Cependant, il existe un bogue sur les versions 6.18 et 6.20.
Comme solution de contournement que vous pouvez utiliser,
-noFIRAnalyticsDebugEnabled
ce qui est différent, celui-ci ne désactive pas votre mode de débogage.la source