今天在 AS 中突然发现非调试 app 的日志出现,大为惊讶。什么小红书、淘宝、京东的一些日志信息都能会显示。 在群里咨询了大佬,原来一直都会输出显示。只是老版的 AS 给你默认过滤掉了所以看不到,现在新版本的 AS 放开了所有显示了。 刷新了认知,原来之前一直理解错了。。。
所以各位安卓开发对于日志输出的控制是忘了还是无所谓。。。
1
debuggeeker 2023-03-13 13:03:29 +08:00
系统的 log ,不是 APP 自己要打的
|
2
lxxself OP @debuggeeker 这些是是开发者自己打的,不是系统的
|
3
mxalbert1996 2023-03-14 14:37:19 +08:00 via Android
最新版 AS 一样是默认只显示当前打开的项目的日志,而这个在新老版都是可以关的。
你这里面的明显几乎都是系统打的(来自系统类,但是因为实际运行在应用进程中所以包名和进程号都是应用的)。 |
4
lxxself OP @mxalbert1996 不是的,我试了我们自己的线上包,会输出 Log.d 的日志。你可以试试
|
5
fairytale110 2023-03-14 15:50:52 +08:00 via Android
筛选方式用正则,package:xxx ,才是指定应用的。
你上图只是筛选日志内容包含了的都会出来 |
6
lxxself OP @fairytale110 筛选我知道的,我想表达的是:新版 AS 会显示所有所有非 debug 包的日志打印这事,似乎说是一直可以查看这些日志的,只是旧 AS 默认过滤了,新 AS 默认不过滤。我之前一直以为 release 包一般是看不到这些日志的。所以以后打日志调试还是要谨慎或封装下。
然后不清楚是就我一直这么认为,还是有些人之前和我的认知一样,现在才发现 |
7
mxalbert1996 2023-03-14 22:49:12 +08:00 via Android
@lxxself 我当然知道会输出,我是说你这截图里面的明显几乎是系统类的日志
|
8
mxalbert1996 2023-03-14 22:53:36 +08:00 via Android
这些来自系统类的日志是关不掉的,所以你用这个图来问日志输出控制是忘了还是无所谓就很奇怪,因为本来也没有应用自己输出的日志。
至于应用自己的日志要不要关,那就看自己了,带有敏感信息的当然是一定要关的,其它的关不关都无所谓。 |
10
zhanlanhuizhang 2023-03-16 09:46:34 +08:00
你需要手动关闭,你应该对打印日志封装一层,然后,在 Application 里面用 build.gradle 配置的变量,把 release,debug ,等等不同环境区分开来。
|
11
xiaoliangsteven 2023-03-16 18:57:08 +08:00
taobao 的日志比你看到的多多了, 这个是系统的日志哦
|
12
nicevar 2023-03-19 09:42:25 +08:00
旧 AS 也是可以看的,你是不会用
|
13
t4here 2023-07-27 14:44:06 +08:00
|