Когда я запускаю приложение 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
Я просмотрел модули и не нашел никаких операторов печати, так как еще я могу сделать, чтобы они не регистрировались сверхурочно при запуске приложения?
Ответы:
Вы можете отключить ведение журнала отладки с помощью флага
-FIRDebugDisabled
.Вы можете добавить это в свою схему :
-FIRDebugDisabled
источник
-noFIRAnalyticsDebugEnabled
был переименован в-FIRDebugDisabled
. Остальные шаги такие же.Добавьте
FirebaseConfiguration.shared.setLoggerLevel(.min)
перед,FirebaseApp.configure()
чтобы получить минимальный объем регистрации.func setupFirebase() { FirebaseConfiguration.shared.setLoggerLevel(.min) FirebaseApp.configure() }
источник
По умолчанию Firebase регистрирует информацию, ошибки и предупреждения.
Таким образом, вы можете установить уровень регистратора, для которого когда-либо вам нужно.
Если вы установите .Error, вы получите минимальный журнал только при возникновении ошибки.
setLoggerLevel перед FirebaseApp.configure (), как показано ниже
В Swift 2.3 и Firebase 4
FirebaseConfiguration.sharedInstance().setLoggerLevel(.Error) FirebaseApp.configure()
В Swift 3 и Firebase 4
FirebaseConfiguration.shared.setLoggerLevel(.min) FirebaseApp.configure()
источник
В моем случае, чтобы скрыть лишний кусок журнала консоли от Firebase, я сделал следующее:
Изменить 1 : Как сказал @ jesus-adolfo-rodriguez, это связано с Xcode. Итак, если вы не хотите, чтобы OSLog на консоли Xcode, поместите переменную среды OS_ACTIVITY_MODE в значение «disable» в вашей схеме.
Изменить 2:
FirebaseConfiguration.shared.setLoggerLevel(FirebaseLoggerLevel.min) FirebaseApp.configure()
Подробнее о реализации FIRConfiguration здесь
Редактировать 3: 2019
По этому вопросу: https://github.com/firebase/firebase-ios-sdk/issues/2774#issuecomment-482780714
Добавление аргумента -FIRDebugDisabled и очистка проекта сделали свое дело.
Система ведения журнала в Firebase
источник
setLoggerLevel(.min)
и-FIRDebugDisabled
. Отличный ответ!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 }
источник
FIRConfiguration.sharedInstance().setLoggerLevel(.min) FIRApp.configure()
В Swift 4
источник
FirebaseConfiguration.shared.setLoggerLevel(.min)
в FB 5.14По умолчанию Firebase Analytics регистрирует только 4 строки INFO в рабочей среде + ошибки / предупреждения. Если все работает правильно, этого должно быть очень мало. Добавление -noFIRAnalyticsDebugEnabled отключит только журналы уровня DEBUG, а ERROR / WARN всегда регистрируются. Если вы видите какие-либо предупреждения или ошибки, вам, вероятно, нужно что-то предпринять, чтобы устранить причину. Некоторые вещи, скорее всего, будут работать некорректно, если предупреждения / ошибки будут регистрироваться. Приложение, которое правильно настроено, не должно регистрировать ошибки / предупреждения.
Сообщения с тегами FIRInstanceID / * регистрируются службой Firebase Notification, а ошибки / предупреждения всегда регистрируются.
источник
Как сказал Джаби, вы не можете отключить эти журналы, если они INFO, WARNING или ERROR.
Я хочу добавить к ответу Нитина Гохеля, поскольку не могу комментировать: флаг FirebaseAppDelegateProxyEnabled не предназначен для отключения журналов. Если вы отключите его, вы потеряете автоматическое отслеживание кампании, и вам нужно будет добавить методы из FIRAnalytics (AppDelegate) для самостоятельной обработки URL и активности пользователей.
источник
Чтобы добавить к ответу Алекса, из https://firebase.google.com/docs/cloud-messaging/ios/client
FirebaseAppDelegateProxyEnabled
предназначен для использования методов делегата вашего приложенияисточник
Я думаю, что происходит большая и очень важная путаница.
При
-FIRDebugDisabled
его использовании будет отключен режим отладки, который затем повлияет на ваши измерения во время тестирования и разработки .Чтобы уменьшить количество журналов:
FirebaseConfiguration.shared.setLoggerLevel(.min) FirebaseApp.configure()
Однако в версиях 6.18 и 6.20 есть ошибка .
В качестве обходного пути вы можете использовать
-noFIRAnalyticsDebugEnabled
другое дело, оно не отключает режим отладки.источник