Firebase Crashlytics是否会自动收集e.printStackTrace()日志?
Firebase Crashlytics 是否收集 e.printStackTrace() 输出的日志?
- Firebase Crashlytics 不会自动收集
e.printStackTrace()输出的错误日志。 - 原因:
e.printStackTrace()仅将异常信息输出到标准错误流(System.err),而Crashlytics默认仅捕获未被捕获的崩溃,或通过自身API主动上报的异常数据。
正确的异常上报方式
如果你想让Crashlytics捕获这类被手动catch的异常,需要调用Crashlytics的主动上报API,示例代码如下:
try { // crash happens here! } catch (e: Exception) { // 主动将异常上报到Crashlytics FirebaseCrashlytics.getInstance().recordException(e) // 若仍需在控制台查看日志,可保留printStackTrace e.printStackTrace() }
通过recordException()上报后,异常的完整堆栈信息(包括异常类型、详细消息、调用栈轨迹)都会被Crashlytics收集并展示在控制台中,便于排查问题。
内容的提问来源于stack exchange,提问作者CodingBruceLee
相关产品推荐
相关产品推荐

