如何说服Logcat只打印有价值的数据,防止吐出无用的垃圾日志
How to convince Logcat to print only valuable data, and prevent vomiting useless spam logs
我想让我的logcat通过调用
只打印我想看到的数据
Log.i(...)
但是,logcat 将所有内容都吐到我的日志中,我厌倦了使用无休止的正则表达式或每个标签的标签来过滤信息时间 我打开一个项目
是否有简单可靠的解决方案?
例如:
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 或大约任何硬件功能等
提前致谢
筛选依据 --> 仅在 logcat 的右上角显示选定的应用程序。
您不清楚日志级别,它表示日志的有效性。假设它优先:
即
0 - 详细
1 - 调试
2 - 信息
3 - 警告
4 - 错误
5 - 断言
因此,如果您选择级别 debug 意味着它将仅打印 debug 和更高级别的日志。
如果要过滤 logcat,请开始在打印日志中使用标签。
例如 Log.i("your custom tag", "message")
所以,现在您可以使用“您的自定义标签”进行过滤。
除了@JeelVankhede 的回答之外,您还可以过滤您的日志以显示最低日志级别:
如果你在此处使用信息 Log.d 并且 Log.v 将不再显示在您的日志中。
Android studio 有很棒的日志过滤功能。
示例如果你想要错误日志,你需要Log.e.
这里有一些示例和输出图像。
Log.e("my_tag","this is my error log");
Log.d("my_tag","this is my debug log");
Log.v("my_tag","this is my verbos log");
有时 android 工作室会弄乱滤镜。
Select device、app 和 log level 来自三个再次下拉菜单,并且 select 也仅显示左侧下拉菜单中的 selected 应用程序 。
不依赖于TAG?
我也遇到了这个问题,写了一个全局标签来提供我的日志。
然后我过滤这个标签(在 Android Studio 的情况下)。
我想让我的logcat通过调用
只打印我想看到的数据Log.i(...)
但是,logcat 将所有内容都吐到我的日志中,我厌倦了使用无休止的正则表达式或每个标签的标签来过滤信息时间 我打开一个项目
是否有简单可靠的解决方案?
例如:
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 或大约任何硬件功能等
提前致谢
筛选依据 --> 仅在 logcat 的右上角显示选定的应用程序。
您不清楚日志级别,它表示日志的有效性。假设它优先:
即
0 - 详细
1 - 调试
2 - 信息
3 - 警告
4 - 错误
5 - 断言
因此,如果您选择级别 debug 意味着它将仅打印 debug 和更高级别的日志。
如果要过滤 logcat,请开始在打印日志中使用标签。
例如 Log.i("your custom tag", "message")
所以,现在您可以使用“您的自定义标签”进行过滤。
除了@JeelVankhede 的回答之外,您还可以过滤您的日志以显示最低日志级别:
如果你在此处使用信息 Log.d 并且 Log.v 将不再显示在您的日志中。
Android studio 有很棒的日志过滤功能。
示例如果你想要错误日志,你需要Log.e.
这里有一些示例和输出图像。
Log.e("my_tag","this is my error log");
Log.d("my_tag","this is my debug log");
Log.v("my_tag","this is my verbos log");
有时 android 工作室会弄乱滤镜。
Select device、app 和 log level 来自三个再次下拉菜单,并且 select 也仅显示左侧下拉菜单中的 selected 应用程序 。
不依赖于TAG?
我也遇到了这个问题,写了一个全局标签来提供我的日志。
然后我过滤这个标签(在 Android Studio 的情况下)。