androidのログの簡易化

2013年12月29日日曜日

android 開発

t f B! P L
androidのログって、
Log.d(tag, msg);
だけなんで楽っちゃ楽なんですが、毎回クラス名や、行番号を追加するのが面倒だったりします。
なので、楽になるようクラス化してます。
ちなみに、
・呼び出し方は、
Util.log("test");
Util.log(var);
 とか、方は特に意識する必要はありません。
・基本デバッグログしか使ってないので、Log.dのみしか動作させてません。publicのlogに引数を追加
 とかすれば、簡単にできると思います。
※Export Sinedでapkを作成する場合は、自動でBuildConfig.DEBUGがfalseになるのでログ出力が必要化の変更は必要ないです。

import android.util.Log;
public class Util
{
private static void log(String tag, String msg)
{
Log.d(tag, msg);
}

private static String getTag(StackTraceElement ste)
{
String className = ste.getClassName();
className = className.substring(className.lastIndexOf(".") + 1);
final String methodName = ste.getMethodName();
final int lineNum = ste.getLineNumber();
return className + "." + methodName + ":" + lineNum;
}

public static void log(Object msg)
{
if (BuildConfig.DEBUG)
{
log(getTag(Thread.currentThread().getStackTrace()[3]), String.valueOf(msg));
}
}
}

QooQ