如何说服Logcat仅打印有价值的数据,并防止呕吐无用的垃圾邮件日志

时间:2018-11-27 10:33:51

标签: android logcat

我想使我的logcat 仅通过致电

打印我想查看的数据
Log.i(...)

但是, logcat会将所有内容呕吐到我的日志中,并且我每次都用无休止的正则表达式或标签来过滤信息。我打开了一个项目。< / p>

是否有简单可靠的解决方案

例如:

2018-11-27 11:23:11.173 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)
2018-11-27 11:23:11.471 5084-5084/com.platinum D/SQL Log: SQLiteQuery: SELECT * FROM DOG
2018-11-27 11:23:11.941 5084-5084/com.platinum W/ActivityThread: handleWindowVisibility: no activity for token android.os.BinderProxy@cb53553
2018-11-27 11:23:12.170 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)
2018-11-27 11:23:12.198 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)
2018-11-27 11:23:12.237 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)
2018-11-27 11:23:12.287 5084-5111/com.platinum I/chatty: uid=10085(com.platinum) RenderThread identical 2 lines
2018-11-27 11:23:12.320 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)
2018-11-27 11:23:12.675 5084-5111/com.platinum D/EGL_emulation: eglMakeCurrent: 0x7c2d1d4fa220: ver 3 0 (tinfo 0x7c2d24e23bc0)

我不想看到这样的日志,我不在乎D / EGL_emulation。我只想查看属于我的应用程序开发的日志,。我不想看到来自Android OS的任何日志,也不希望看到任何有关硬件功能的日志,等等。

预先感谢

6 个答案:

答案 0 :(得分:2)

不取决于TAG吗?

我也遇到了这个问题,并写了一个全局标签来提供我的日志。

然后我要过滤此标签(对于Android Studio)。

答案 1 :(得分:1)

您不清楚日志级别,它表示日志的有效性。优先考虑:

0-详细

1-调试

2-信息

3-警告

4-错误

5-断言

因此,如果您选择级别 debug ,则意味着它将仅打印 debug和更高级别的日志


如果要过滤logcat,请开始在打印日志中使用标签。

例如。 Log.i("your custom tag", "message")

因此,现在您可以使用“ 您的自定义标签”进行过滤。

答案 2 :(得分:0)

过滤--仅显示logcat右上角的选定应用程序。

enter image description here

答案 3 :(得分:0)

Android Studio具有强大的日志过滤功能。

如果您想要错误日志的示例,则需要#build a list with csv files you want to load files <- list.files( path = "yourpath", pattern = ".*.csv$", full.names = TRUE ) library(data.table) #get value from second row (skip = 1) , second column ( select = 2 ) from each csv, using `data.table::fread`... #bind the list together using `data.table::rbindlist` rbindlist( lapply( files, fread, nrows = 1, skip = 1, select = 2 ) ) ,下面是一些示例并为其显示图像。

Log.e.

enter image description here

答案 4 :(得分:0)

有时android studio弄乱了过滤器。

再次从三个下拉菜单中选择设备应用日志级别,然后选择仅显示选定的应用也从左下拉菜单 enter image description here

答案 5 :(得分:-1)

除了@JeelVankhede的答案外,您还可以过滤日志以显示以下最低日志级别: enter image description here

例如在这里使用信息Log.d和Log.v将不再显示在您的日志中。