June 2, 2012

ログの出力方法

デバッグの基本、ログの出力方法です。
Androidのログ出力にはLogクラスを使います。使い方は簡単で、レベル、タグ、メッセージを添えて出力するだけです。どこでも使うことができます。出力結果はLogCatでEclipse上でも閲覧できます。使用例を下記に示します。

public class SampleAppActivity extends Activity {
    private final static String TAB = "SampleAppActivity";

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        Log.v(TAB, "verbose");
        Log.d(TAB, "debug");
        Log.i(TAB, "info");
        Log.w(TAB, "warn");
        Log.e(TAB, "error");
        Log.println(Log.ASSERT, TAB, "assert");

出力結果は、レベル別に色分けされ、時刻、PID、アプリ、タグ、メッセージが表示されます。


タグやメッセージは自由につけてかまいません。レベルはverboseからassertまでの6段階あり、こちらも自由に使い分けてかまいません。ログ出力はprintln()メソッドを使うのですが、assert以外はLog.vのように省略形がありますので、通常はこちらを使うのが便利です。

レベルで1つだけ気にするべき点があります。レベルはverboseが一番低く、assertが一番高いというルールになっています。LogCatにはフィルター機能があり、あるレベルより低いログは出力を見せなくすることができます。例えば、info以上のみ、と設定すればそれよりレベルの低いverboseとdebugは見えなくなります。なので重要度に応じてレベルを決めるべきです。

レベル以外のタグやメッセージ、PID、アプリはそれぞれ自由にフィルターを設定できます。自分のアプリのログしか見たくないというときは下記のように設定します。フィルターは保存しておくこともできるので活用すると便利です。


参考:Android Developers:Log

No comments:

Post a Comment