Jedes Mal, wenn ich die FireBase-App starte, wird der Status verschiedener Firebase-Funktionen protokolliert. Im Moment wird Folgendes protokolliert:
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
Ich habe die Pods durchgesehen und keine Druckanweisungen gefunden. Wie könnte ich sonst verhindern, dass diese über die Zeit protokolliert werden, in der ich die App ausführe?
Antworten:
Sie können die Debug-Protokollierung mit dem Flag deaktivieren
-FIRDebugDisabled
.Sie können es Ihrem Schema hinzufügen :
-FIRDebugDisabled
quelle
-noFIRAnalyticsDebugEnabled
wurde in umbenannt-FIRDebugDisabled
. Andere Schritte sind die gleichen.FirebaseConfiguration.shared.setLoggerLevel(.min)
Vorher hinzufügenFirebaseApp.configure()
, um die minimale Protokollierungsmenge zu erreichen.quelle
Standardmäßig protokolliert Firebase Informationen, Fehler und Warnungen.
So können Sie den Logger-Level einstellen, für den Sie ihn benötigen.
Wenn Sie .Error einstellen, erhalten Sie nur dann ein Min-Protokoll, wenn ein Fehler auftritt.
setLoggerLevel vor FirebaseApp.configure () wie unten gezeigt
In Swift 2.3 und Firebase 4
In Swift 3 und Firebase 4
quelle
In meinem Fall habe ich Folgendes getan, um den zusätzlichen Teil des Konsolenprotokolls vor Firebase zu verbergen:
Edit 1 : Wie @ jesus-adolfo-rodriguez sagte, hängt dies mit Xcode zusammen. Wenn Sie OSLog nicht in der Xcode-Konsole verwenden möchten, setzen Sie die Umgebungsvariable OS_ACTIVITY_MODE in Ihrem Schema auf "Deaktivieren".
Bearbeiten 2:
Weitere Details zur FIRConfiguration-Implementierung finden Sie hier
Edit 3: 2019
Nach dieser Ausgabe: https://github.com/firebase/firebase-ios-sdk/issues/2774#issuecomment-482780714
Das Hinzufügen des Arguments -FIRDebugDisabled und das Bereinigen des Projekts haben den Trick getan.
Das Protokollierungssystem in Firebase
quelle
setLoggerLevel(.min)
und protokolliert wurden-FIRDebugDisabled
. Gute Antwort!In Swift 4
quelle
FirebaseConfiguration.shared.setLoggerLevel(.min)
in FB 5.14Swift 4 Firebase 4.10
Legen Sie die Logger-Ebene in Ihrer AppDelegate.swift fest
Hier ist der vollständige Code:
quelle
Standardmäßig protokolliert Firebase Analytics nur 4 INFO-Zeilen in der Produktion + Fehler / Warnungen. Das sollte sehr wenig ausgegeben werden, wenn die Dinge richtig funktionieren. Durch Hinzufügen von -noFIRAnalyticsDebugEnabled werden nur Protokolle auf DEBUG-Ebene deaktiviert, und ERROR / WARN werden immer protokolliert. Wenn Sie Warnungen oder Fehler sehen, müssen Sie wahrscheinlich etwas tun, um die Ursache zu beheben. Einige Dinge funktionieren wahrscheinlich nicht richtig, wenn Warnungen / Fehler protokolliert werden. Eine korrekt eingerichtete App sollte keine Fehler / Warnungen protokollieren.
Mit FIRInstanceID / * gekennzeichnete Nachrichten werden von Firebase Notification protokolliert und Fehler / Warnungen werden immer protokolliert.
quelle
Wie Djabi sagte, können Sie diese Protokolle nicht deaktivieren, wenn es sich um INFO, WARNING oder ERROR handelt.
Ich möchte die Antwort von Nitin Gohel ergänzen, da ich keinen Kommentar abgeben kann: Das Flag FirebaseAppDelegateProxyEnabled dient nicht zum Deaktivieren von Protokollen. Wenn Sie es deaktivieren , verlieren Sie die automatische Kampagnenverfolgung und müssen die Methoden von FIRAnalytics (AppDelegate) hinzufügen, um URL- und Benutzeraktivitäten selbst zu verarbeiten.
quelle
Zum Hinzufügen zu Alex 'Antwort unter https://firebase.google.com/docs/cloud-messaging/ios/client
FirebaseAppDelegateProxyEnabled
dient zum Swizzeln der Methoden Ihres App-Delegatenquelle
Ich denke, es gibt eine große und sehr wichtige Verwirrung.
Durch die Verwendung
-FIRDebugDisabled
wird der Debug-Modus deaktiviert, wodurch Ihre Messungen während des Testens und der Entwicklung beeinflusst werden .So reduzieren Sie die Protokolle:
Es gibt jedoch einen Fehler in den Versionen 6.18 und 6.20.
Als Problemumgehung können Sie
-noFIRAnalyticsDebugEnabled
eine andere Sache verwenden. Diese deaktiviert Ihren Debug-Modus nicht.quelle