安卓的错误捕捉与日志输出探讨

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 今天工作时对安卓的错误抛出进行了探究,同时对日志输出也看了一番,所以今天我们聊聊安卓在这个方面的写法。

正篇

首先,我们在需要对APP错误进行分析时,我们通常会在对应位置打印日志,但有时候有些位置由于异常而直接导致程序崩溃,这时候就需要我们抛出错误,捕捉异常,输出相应日志。

不规范的示例:

try {
    throw new FileNotFoundException();
} catch (Exception e) {
    e.fillInStackTrace();
    Log.e("There has a error, code = ", e.getMessage());
}

网络异常,图片无法展示
|


这里的 System.exit(0)是用于在异常获取并输出日志后退出程序。

而XLog是非常好用的日志输出工具,可同时在多个通道打印日志,如 Logcat、Console 和文件。

这里我们用到的是XLog的这个方法:

/**
 * Log a message and a throwable with level {@link LogLevel#ERROR}.
 *
 * @param msg the message to log
 * @param tr  the throwable to be log
 */
public static void e(String msg, Throwable tr) {
  assertInitialization();
  sLogger.e(msg, tr);
}

当然,这里附上最新的XLog包导入命令,在项目下app的build.gradle中加入下列这一行代码:

implementation 'com.elvishew:xlog:1.10.1'

网络异常,图片无法展示
|


即可使用XLog来输出日志,官方给出的介绍说这是一款轻量、美观强大、可扩展的 Android 和 Java 日志库。


网络异常,图片无法展示
|


从官方给出的图来看,的确非常清晰。 如果想使用可以看这个官方使用文档:xLog/README_ZH.md at master · elvishew/xLog · GitHub

小结

今天这篇是有感而发,希望可以总结平时收获,后面会单独开栏用来收集这些平时突然想记录的技术小栈,希望可以记得更扎实一些。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
监控 算法 iOS开发
深入探索iOS函数调用栈:符号化与性能调优实战
在iOS开发中,理解函数调用栈对于性能调优和问题排查至关重要。函数调用栈记录了程序执行过程中的函数调用顺序,通过分析调用栈,我们可以识别性能瓶颈和潜在的代码问题。本文将分享iOS函数调用栈的基本概念、符号化过程以及如何利用调用栈进行性能调优。
42 2
|
Android开发 C语言
[笔记]安卓 使用breakpad定位崩溃问题
[笔记]安卓 使用breakpad定位崩溃问题
133 0
|
iOS开发 MacOS Python
|
Android开发
安卓一个奇怪的LOG:ColorDrawable.setColor
安卓一个奇怪的LOG:ColorDrawable.setColor
90 0
|
存储 运维 监控
mPass iOS崩溃与Crash⽇志符号化详解
在日常mPaas客户端运维中,经常遇到一些iOS闪退,无法直接从闪退堆栈看到原因。主要是因为iOS客户端上传的崩溃日志里的调用栈信息都是通过内存地址记录的,无法直接看到闪退的调用栈信息。如果需要定位到调用栈,需要使用符号表对闪退日志进行符号化。本文从日志收集、日志符号化原理、符号化工具等方向介绍下iOS下crash日志符号化方案。
2020 1
mPass iOS崩溃与Crash⽇志符号化详解
|
监控 Java Android开发
Android Crash的跟踪方法,使用腾讯Bugly来捕捉一些疑难杂症,让我们APP稳定上线
Android Crash的跟踪方法,使用腾讯Bugly来捕捉一些疑难杂症,让我们APP稳定上线 我们在开发中常常会注意到一些Crash,这正是很头疼的,而且Crash会带来很多意想不到的状态,很恶心,所以今天,我们来着重研究一下Crash,同时,我们也将使用第三方SDK,也就是腾讯的Bugly来扑捉这些Crash,让他无所遁形。
3546 0
|
监控 安全 Android开发
安卓应用安全指南 4.8 输出到 LogCat
4.8 输出到 LogCat 原书:Android Application Secure Design/Secure Coding Guidebook 译者:飞龙 协议:CC BY-NC-SA 4.0 在 Android 中有一种名为 LogCat 的日志机制,不仅系统日志信息,还有应用日志信息也会输出到 LogCat。
1483 0
捕获程序Crash,让你的APP告别闪退
版权声明:本文为sydMobile原创文章,转载请务必注明出处! https://blog.csdn.net/sydMobile/article/details/78890196 文章最早发布于我的微信公众号 Android_De_Home 中,欢迎大家扫描下面二维码关注微信公众获取更多知识内容。
1261 0