关闭Firebase的Logcat日志记录

39

现在我已经整合了Firebase,不想再看到像这样的logcat垃圾邮件。

D/FirebaseCrashApiImpl: FirebaseCrash reporting API initialized
I/FirebaseCrash: FirebaseCrash reporting initialized com.google.firebase.crash.internal.zzg@e9c7537
D/FirebaseApp: Initialized class com.google.firebase.crash.FirebaseCrash.
I/FA: App measurement is starting up, version: 9080
I/FA: To enable debug logging run: adb shell setprop log.tag.FA VERBOSE

我尝试执行adb shell setprop log.tag.FA ERROR命令,但它仍然记录了所有内容。

我该如何在SDK(或setprop)中关闭它?从logcat中过滤它不是我要寻找的解决方法。


3
当从GCM迁移到FCM时,他们悄悄地为你提供Firebase分析,现在甚至无法禁用日志记录,即使你这样做了,在每次应用程序重新启动时,它也会重置为VERBOSE。 - urSus
3个回答

13

你可以通过命令行禁用它:

adb shell setprop log.tag.FA SILENT
adb shell setprop log.tag.FA-SVC SILENT

2
@Ewan https://firebase.google.com/docs/analytics/android/events#view_events_in_the_android_studio_debug_log - Artem
谢谢。对我仍然没有用 - 我运行命令,然后启动应用程序。在AS中: 02-13 18:49:49.784 7287-7376/uk.co.xxxxxx.debug V/FA: Connecting to remote 我可以使用下面的正则表达式过滤器。奇怪的是,显示调试事件的命令对我很好用。 - Ewan

6

我发现的唯一方法是在Android Studio中使用logcat过滤器,只隐藏所有带有标签FA的行。

  1. 在右侧的logcat控制台下拉菜单中,点击编辑过滤配置
  2. Log Tag字段中(必须勾选正则表达式),输入以下内容:^(?!(FA))
  3. Package Name字段中,输入您的包名称

完成!


1
如果您想禁用多个标签,则使用 ^(?!(EXCLUDE_TAG1|EXCLUDE_TAG2)),例如 ^(?!(FA|QueuedMuxer|ACodec|MPEG4Writer)) - Nilesh Deokar

-4

我认为您需要逐个禁用每个包。要通过编程方式关闭 Firebase 崩溃报告,请尝试以下方法:

FirebaseCrash.setCrashCollectionEnabled(!BuildConfig.DEBUG);

1
这可能会停止向Firebase报告,但它并没有解决OP试图修复的logcat垃圾邮件问题。(我尝试过这个,但没有效果。) - Anders8

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接