デバッグログを使いこなす


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状態


エミュレータ起動直後のログの状況

2 Comments