Android: A better, easier and more comfortable Log - determines automatically a Tag

I can't understand why Google made Log so complex. It could be that easy. Instead of Log.X just type  L.X (import the class first). The tag  is set automatically - you can choose between the Class, Class.Method, Class:LineNumer or Class.Method:LineNumber as tags - awesome, right?
//Use it:
L.e("Hello World! I am an error.");
L.setLogType(LogType.CLASS_AND_METHOD_AND_LINE);
L.e("wow so easy!");





import android.util.Log;

public class L {

 public static enum LogType {
  CLASS, CLASS_AND_METHOD, CLASS_AND_METHOD_AND_LINE, CLASS_AND_LINE
 }
 
 private static LogType mType = LogType.CLASS;
 
 public static void setLogType(LogType type) {
  mType = type;
 }
 
 public static void e(String msg) {
  Log.e(getTag(), msg);
 }
 
 public static void i(String msg) {
  Log.i(getTag(), msg);
 }
 
 public static void d(String msg) {
  Log.d(getTag(), msg);
 }
 
 public static void v(String msg) {
  Log.v(getTag(), msg);
 }
 
 public static void w(String msg) {
  Log.w(getTag(), msg);
 }
 
 public static void wtf(String msg) {
  Log.wtf(getTag(), msg);
 }
 
 private static String getTag() {
  StackTraceElement[] s = Thread.currentThread().getStackTrace();
  switch (mType) {
  case CLASS:
   return s[4].getClassName();
  case CLASS_AND_LINE:
   return s[4].getClassName()+":"+s[4].getLineNumber();
  case CLASS_AND_METHOD:
   return s[4].getClassName()+"."+s[4].getMethodName();
  case CLASS_AND_METHOD_AND_LINE:
   return s[4].getClassName()+"."+s[4].getMethodName()+":"+s[4].getLineNumber();
  default:
   break;
  }
  return null;
 }
}

Kommentare

  1. Casino Poker Tournaments with the best bonuses 2021
    If you like playing at the 벳인포해외배당흐름 casino, you 토토 분석 사이트 can find 토토검증먹튀랭크 hundreds of different casino 우리계열 tournaments 캔 토토 with the best bonus offers for players. Join Casino Poker now!

    AntwortenLöschen

Kommentar veröffentlichen