开发和测试过程中,日志是定位问题的重要工具之一。无论是Web端还是App端,日志的作用如同医生的诊断报告,可以帮我们快速找到问题的根源。那么,如何高效查看并分析这些日志呢?
面对Web端和App端的不同特点,日志查看有哪些工具和方法?我们如何才能快速、准确地提取有用信息?有哪些最佳实践可以帮助测试人员提升日志分析效率?
随着系统复杂度的提升,日志分析的重要性与日俱增。无论是开发者还是测试人员,都需要掌握日志的查看和分析技巧。高效的日志管理能显著提升排查效率,从而节省项目开发时间。
前期通过了解到Charles可对前后端数据的传输进行代理,可从中查看request/response信息。在接口测试无异常情况下,还需要关注日志部分,如之前提到的后端日志部分的查看,以及前端日志的查看。通过错误日志,能直接暴漏到具体行,方便RD定位问题。解决错误日志中的问题往往可以进一步提高系统稳定性。Dev/Test环境下一般都会开启日志,以便debug,类似于只出现一次、不能复现的问题,通过详细的日志即可追溯操作过程。
01 后端日志
后端日志的查看
使用Xshell/跳板机;
输入账密、登录、令牌;
根据提测文档中项目所属的工程,找到对应服务器(可咨询RD对工程的服务器部署情况),例如A工程部署在192.168.0.123服务器上,则访问对应终端
了解并使用Linux基本命令
-
进入日志路径 cd /var/logs
-
选择要查看日志的工程,例如:cd service-c
-
查看指定日期日志,使用tail命令,例如:tail -f service-c.2020-11-12.log
-
可对日志进行关键字过滤,例如:tail -f|grep 'xxx' service-c.2020-11-12.log
-
可对日志进行行数查看,例如:tail -xxf service-c.2020-11-12.log
测试过程中,观察后台日志是否有错误产生。
02 前端日志的查看
1、Web端
前端错误大部分会体现页面上,Dev/Test可直观查看到
通过F12开发者工具,亦可查看前端页面报错具体情况。例如渲染错误页面相关的部分前端不会显示页面了,但开发者工具中Element会打印错误。
2、App端
使用ADB查看Android端日志
Windows 配置方法
下载Android SDK 平台工具
解压,将adb.exe的路径配置到环境变量系统 Path 中
查看终端输入adb是否可用
Mac 配置方法
下载Android SDK 平台工具
打开 Terminal
进入当前用户Home目录(一般默认是Home路径,若通过pwd查看不是HOME位置,echo $HOME可直接显示HOME位置,然后cd到HOME位置)
打开 .bash_profile文件(HOME位置下ls -a可查看隐藏文件,看是否有.bash_profile文件,若没有,需要先创建 touch .bash_profile,再open .bash_profile)
增加以下内容export PATH=${PATH}:/Users/你自己的用户名/Library/Android/sdk/platform-tools,保存并退出
若不想注销或重新再生效,执行 source .bash_profile
adb命令用法
adb配置完成后,终端输入 adb 或者adb version查看是否安装成功,若不成功(adb command not found),需要查看路径是否正确,大部分为路径错误导致
Android手机在开发者模式开启USB调试(部分手机需要插卡才能开启),并连接电脑
输入 adb devices 查看当前连接设备,若存在则会在控制台打印
安装app
正常安装:adb install +apk所在路径
覆盖安装:adb -r install +apk所在路径
降级安装:adb -d install +apk所在路径
卸载app: adb uninstall +apk包名(adb包名获取:adb shell pm list package -f)
app日志查看
查看日志:adb logcat
查看W及上级别日志:adb logcat '*:W' -v
查看指定包名的日志:adb logcat '*:E' | grep "com.xiaomi.smarthome"
日志导出:adb logcat > log.txt(导出路径为当前终端的路径可增加指定路径名,如> /User/ganzhen/log.txt)
使用Console查看iOS端日志
iPhone连接Mac
Mac启动台搜索Console
选择左侧连接的iPhone进行查看
为了更便捷地管理和查看日志,可以尝试引入日志聚合工具,如ELK Stack、Splunk等。这些工具不仅支持实时查询,还能通过仪表盘展示数据趋势,适合复杂项目的日志管理需求。
Web端和App端的日志查看虽然工具和方式不同,但核心目的是一致的——帮助快速定位和解决问题。善用工具、熟悉日志结构,将大大提升问题排查的效率。
“日志是系统的‘黑匣子’,读懂它,才能解锁故障排查的密码。”