2017-06-04 69 views
2

在Android源代碼中,我經常看到像Slog.v(WindowManagerService.TAG, "First window added to " + this + ", creating SurfaceSession");這樣的行我怎麼能看到那些Slog在android監視器下? Slog和Log之間有什麼區別?是否有可能在android監視器中讀取Slog?

回答

2

簡短的回答

你獲得與登錄由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 PARAMS一個安全的賭注。

+0

感謝vasiliy,如果我做adb logcat -b系統我會看到日誌顯示在Android監視器或只是在Windows控制檯? – loki

+0

@loki我總是使用命令行。也許有一種方法可以在Android Studio中獲得它,但我不知道如何... – Vasiliy

相關問題