2017-06-04 12 views
2

アンドロイドのソースコードで私はしばしばSlog.v(WindowManagerService.TAG, "First window added to " + this + ", creating SurfaceSession");のような行を参照してくださいどのように私はそれらを見ることができますスロッグのアンドロイドモニタの下で? SlogとLogの違いは何ですか?アンドロイドモニターでスロッグを読むことは可能ですか?

答えて

2

短い答え

デフォルトでSlogで記録されたログを取得し、彼らは他のログメッセージ間の「隠された」です。 Slog使用してログインものだけこのコマンドを取得するためには:

adb logcat -b system 

長い答え

を私はSlog.javaのソースを見て:

Log.javaに比べ

public static int v(String tag, String msg) { 
    return Log.println_native(Log.LOG_ID_SYSTEM, Log.VERBOSE, tag, msg); 
} 

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

おかげさまで、私がadcat logcat -b systemを実行した場合、ログはアンドロイドモニタに表示されるか、Windowsコンソールに表示されますか? – loki

+0

@loki私は常にコマンドラインを使用します。 Androidスタジオでそれを入手する方法があるかもしれないが、私にはわからない... – Vasiliy

関連する問題