클래스명, 함수명까지 자동으로 출력해주는 Log class
04 Apr 2019 | AndroidTimeUtil.java
import android.icu.util.Calendar;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Locale;
public class TimeUtil {
public synchronized static long getTimeAsLong() {
Calendar calendar = Calendar.getInstance();
return calendar.getTimeInMillis();
}
public synchronized static String getTimeAsString(String format) {
Date date = new Date(getTimeAsLong());
SimpleDateFormat sdf = new SimpleDateFormat(format,
Locale.getDefault());
return sdf.format(date);
}
public synchronized static Long getTimeAsLong(String format, String text) {
try {
SimpleDateFormat sdf = new SimpleDateFormat(format,
Locale.getDefault());
Date date = sdf.parse(text);
return date.getTime();
} catch (Exception e) {
e.printStackTrace();
}
return Long.valueOf(-1);
}
public synchronized static String getTimeAsString(String format, long time) {
Date date = new Date(time);
SimpleDateFormat sdf = new SimpleDateFormat(format,
Locale.getDefault());
return sdf.format(date);
}
}
Log.java
public class Log {
private static final String TAG = "ActionManager";
private static final String PREFIX = "[ram]";
public synchronized static void v(String message) {
android.util.Log.v(TAG, getDecoratedLog(message));
}
public synchronized static void d(String message) {
android.util.Log.d(TAG, getDecoratedLog(message));
}
public synchronized static void i(String message) {
android.util.Log.i(TAG, getDecoratedLog(message));
}
public synchronized static void w(String message) {
android.util.Log.w(TAG, getDecoratedLog(message));
}
public synchronized static void e(String message) {
android.util.Log.e(TAG, getDecoratedLog(message));
}
private static String getDecoratedLog(String message) {
StackTraceElement ste = Thread.currentThread().getStackTrace()[4];
StringBuilder sb = new StringBuilder();
sb.append(PREFIX);
sb.append(" [");
sb.append(TimeUtil.getTimeAsLong());
sb.append(" ");
sb.append(ste.getFileName().replace(".java", ""));
sb.append("::");
sb.append(ste.getMethodName());
sb.append("] ");
sb.append(message);
return sb.toString();
}
}
만약 Line Number까지 출력하고 싶으면 ste 변수의 getLineNumber() 메소드를 사용하면 됩니다.