Tencent / mars

Mars is a cross-platform network component developed by WeChat.
Other
17.31k stars 3.63k forks source link

用c printf输出到控制台的日志会写入文件 #484

Open tangxiangpi opened 5 years ago

tangxiangpi commented 5 years ago

1、首先我关闭了xlog控制台输出,确认通过xlog的调用没有在控制台有输出了 2、我自己的andorid app在im相关调用时通过c printf输出控制台(这部分日志打印很频繁,不希望写入文件影响性能) 但是即使这样c printf控制台输出的日志也会被xlog写入文件,是这样设计的么?

garryyan commented 5 years ago

不是的,xlog 没有 hook 库函数。

tangxiangpi commented 5 years ago

不是的,xlog 没有 hook 库函数。

但是的的确确也写进xlog文件了 , image,好奇怪啊

garryyan commented 5 years ago

能给个简单的 sample 吗

tangxiangpi commented 5 years ago

抱歉,工程太大了,我一开始以为xlog同样抓取了控制台的日志,但是后来发现我通过android.utils.Log输出到控制台的日志并没有被写入文件,但是prinf的就写入文件了。 也没什么特别的地方,就是我们有一个so库,里面会用prinf进行日志输出,app加载了这个so库

garryyan commented 5 years ago

我刚自己测了下,不会打印到 log 的文件中,是不是你们项目中自己 hook 了 printf.

garryyan commented 5 years ago

用 IDE 打开代码后,点击 printf 进去看调用的是哪个