如何在启动应用程序时停止Firebaselogging状态更新

无论何时启动FireBase应用程序,它都会logging各种Firebasefunction的状态。 现在这是什么被logging:

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 

我看通过豆荚,并没有find任何打印语句,那么我怎么会停止这些logging超时我运行应用程序?

您可以使用标志-FIRDebugDisabled禁用debugging日志logging。

您可以将其添加到您的计划中 :

  1. selectscheme工具栏
  2. 编辑scheme
  3. select运行
  4. 单击参数并添加-FIRDebugDisabled

FirebaseApp.configure() FirebaseConfiguration.shared.setLoggerLevel(.min)之前添加FirebaseConfiguration.shared.setLoggerLevel(.min)以实现最less的日志logging量。

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

默认情况下,Firebase Analytics只会logging生产中的4条信息行+错误/警告。 如果事情正常工作,这应该是非常小的输出。 添加-noFIRAnalyticsDebugEnabled将仅禁用DEBUG级别日志,并且始终loggingERROR / WARN。 如果您看到任何警告或错误,您可能需要采取措施来解决原因。 如果logging警告/错误,有些事情可能无法正常工作。 正确设置的应用程序不应该logging错误/警告。

用FIRInstanceID / *标记的邮件由Firebase通知logging,并始终logging错误/警告。

正如djabi所说的,如果它们是INFO,WARNING或ERROR,那么就不能禁用这些日志。

我想添加到Nitin Gohel的答案,因为我不能评论:标志FirebaseAppDelegateProxyEnabled不是用于禁用日志。 如果closures此function,您将失去自动营销活动跟踪function,您需要添加FIRAnalytics(AppDelegate)中的方法来自行处理url和用户活动。

默认情况下,Firebase会logging信息,错误和警告。
所以你可以设置你需要的logging器级别。
如果你设置.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() 

要添加到Alex的答案,请从https://firebase.google.com/docs/cloud-messaging/ios/client

FirebaseAppDelegateProxyEnabled用于调换应用程序委托的方法

FCM API在两个关键领域执行方法调配:将APNs令牌映射到FCM注册令牌,并在下游消息callback处理期间捕获分析数据。 不喜欢使用swizzling的开发人员可以通过在应用程序的Info.plist文件中添加标志FirebaseAppDelegateProxyEnabled并将其设置为NO(布尔值)来禁用它。 指南的相关领域提供了代码示例,无论是否启用方法调整。

在我的情况下,从Firebase中隐藏额外的控制台日志块,我做了以下操作:

  1. 导航到产品 – >scheme – >编辑scheme。
  2. 在“环境variables”部分的“参数”选项卡下,添加OS_ACTIVITY_MODE =禁用

在这里输入图像说明

  • 以防万一你需要,只需简单地取消选中该框。
  • 禁用OS_ACTIVITY_MODE有时也会禁用所有例外的日志