スポンサーサイト

--年--月--日 --:--

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

Androidデバッグ②~ログ出力編

2011年01月04日 23:21

メッセージをいちいち画面に出してデバッグするのは、
ピンポイントで見るのには便利なんだけど
ある程度の範囲で見たいときは、ログを出力してみたほうが良い。
1.ログの出力
ソースの一例としては、 こんな感じ

ログの重要度によって、ログレベルがいろいろ用意されている。
まぁ、ここらへんは開発する人の裁量でどのログが良いか判断する形かな。
  • ERROR (Log.e):エラー
  • WARN (Log.w): 警告
  • INFO(Log.i): 情報
  • DEBUG (Log.d):デバッグ
  • VERBOSE (Log.v):詳細
重要度的には上から順番に低くなってく感じ?
そこらへんは、開発者が勝手に決めてログ出力に統一感が取れてれば問題ないでしょ。

もう一つソース例 たぶん、こっちはエラーログメッセージのみで使用されるかと思うけど、
Exceptionのログをそのまま出力することが出来る。

それぞれの引数の説明を簡単にすると
tag(String)
タグ名。アプリケーション固有の名称にするとか、○○な処理は~tagとかログを参照したときに目的のログにフィルタリングしやすいように名前をつける。
msg(String)
ログに出力したいメッセージを入力する。
tr(Throwable)
Exceptionのログを出力する。try~catch~文のCatchの所のExceptionオブジェクトをそのまま指定すればいい。

2.ログを見る
・DDMSでログを見る
エミュレータが起動している状態で、コマンドプロンプトにてddmsを入力。

ddmsの下半分ぐらいにログが、バッーって出力されていると思う。
DDMS画面
ログを見るための簡単に説明…
V、D、I、W、Eのマークは、押したボタン以上の重要度のログに絞り込む。
(VERBOSEよりDEBUGのほうが重要度高いんだな)

プラスマークを押すとログのフィルタリングが出来る。
フィルタリング設定は、下のような感じですればいい。
Filter Name
フィルターネーム、絞り込んだログがLogタブの横にここで指定した名前で作られる。
by Log Tag
ログ出力したときに指定した、tag名で絞りこむ。
by pid
pidで絞り込む。pidは、アプリごとに振られる認識番号みたいなもの。一回の実行だけならこれを指定してもOK。pid番号の調べ方は、アプリが出したログからpidを拾えばいい。(他に調べ方ある?)上の画像だと、?になっているけどここに実行中のパッケージ名が出てくるから、隣の列の数字がpid番号。?になってしまう場合は、DDMS→エミュレータの順番に起動すれば直るかも?。アプリを再起動したり、ライフサイクルで破棄さて復帰した場合もpidは変化することに注意。
by Log Level
ログの重要度で、絞りこむ。


・Eclipseでログを見る
「ウィンドウ」→「パースペクティブを開く」→「デバッグ」(ない場合はその他から選択)
するとLogCatっていうので、DDMS画面と似たようなのが出てるから、そこでみる
使い方はDDMSと同じ感じです。

・コマンドラインでログを見る

adb logcat

ってコマンドを入力する。

一通り使ったけど、DDMSでログを見るのが一番見やすいんじゃないかな~?


コメント

    コメントの投稿

    (コメント編集・削除に必要)
    (管理者にだけ表示を許可する)

    トラックバック

    この記事のトラックバックURL
    http://individualmemo.blog104.fc2.com/tb.php/45-89e7633a
    この記事へのトラックバック



    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。