在 android 源代码中,我经常看到类似Slog.v(WindowManagerService.TAG, "First window added to " + this + ", creating SurfaceSession");
How can I see those Slog under android monitor 之类的行?Slog和Log有什么区别?
问问题
719 次
1 回答
4
简短的回答
默认情况下,您会记录日志Slog
,但它们会“隐藏”在其他日志消息之间。为了只获取Slog
使用此命令记录的那些:
adb logcat -b system
长答案
我查看了以下来源Slog.java
:
public static int v(String tag, String msg) {
return Log.println_native(Log.LOG_ID_SYSTEM, Log.VERBOSE, tag, msg);
}
相比Log.java
:
public static int v(String tag, String msg) {
return println_native(LOG_ID_MAIN, VERBOSE, tag, msg);
}
如您所见,区别仅在于LOG_ID
参数。
然后我看了看adb logcat -help
:
...
-b <buffer> Request alternate ring buffer, 'main', 'system', 'radio',
'events', 'crash' or 'all'. Multiple -b parameters are
allowed and results are interleaved. The default is
-b main -b system -b crash.
...
-b
我没有进一步检查 -选项对应于不同的LOG_ID
参数看起来是一个安全的赌注。
于 2017-06-04T18:27:55.440 回答