デバッグログを使いこなす
|Android開発で最もお世話になる機能の1つが、android.util.Logでのログ出力です。
ログの確認はEclipse上のLogcatビューや、コマンドラインからのLogcatコマンドで見ることができます。
今回は、EclipseでのLog出力・表示方法を中心に解説します。
ソースコード例
import android.util.Log; //用例1 Log.d("tag_name", "debuglog text"); //用例2 static final int DEBUG = 1; …省略… if(DEBUG)Log.d("tag_name", "debug counter :" + counter );
ログ出力の方法
ログ出力の内容は、重要度に合わせて以下の5つのメソッドを利用できます。
- ERROR(エラー時のメッセージ) Log.e(“tag”, “text”);
- WARN(警告メッセージ) Log.w
- INFO(情報) Log.i
- DEBUG(デバッグ) Log.d
- VERBOSE(詳細) Log.v
詳細な使い方は続きで。
Log.e, Log.w, Log.i, Log.d, Log.v それぞれのメソッドは引数違いに2つ、用意されています。
e(String tag, String msg) //Log.eメソッド(エラーメッセージ表示) e(String tag, msg, Throwable tr)
Logクラスの引数は以下の通りです。
“tag” アプリケーション固有のタグもしくは、処理のタグを追加して下さい。
“msg” デバッグメッセージを代入します。
後者のメソッドは第3引数にThrowableが追加されており、エラー時のexceptionをログに出力することが出来ます。
EclipseでのLog確認方法
Eclipcseではパースペクティブを[DEBUG]に切り替える必要があります。
上部メニューバーの右(ウィンドウ右上)でパースペクティブを切り替えて下さい。
Javaパースペクティブ
デバッグパースペクティブ
標準のウィンドウ配置のままでは、デバッグパースペクティブの右下にLogcatタブがあります。
Eclipse上ではこの「LogcatView」でログ出力を確認できます。
Logcat Viewタブの付近をダブルクリックすると、ログ表示がウィンドウ全体に広がります。
(2度目のダブルクリックで通常の表示位置に戻ります)
ログ出力のフィルタリング
Logcatコマンドには、たくさんのシステムログと自分のログを分けて確認するため、
フィルタリング機能が用意されています。場所は、LogcatViewer ウィンドウの +ボタン です。
+ボタンをおして確認したいタグ(例:Dalvik)もしくはpid(プロセスID)を指定することで、
見たいログのみ表示するタブが作られます。
図:Dalvikのログ出力
コマンドラインでのLog確認方法
Eclipce以外からログを見るには、adbのlogcat(コマンドライン)があります。
adb logcat
端末が接続されるまで、wait状態