Usage:
MyLog.d("Your log is here");
Result:
Logger class:
public class MyLog { public static final String TAG = "ZAQ - "; public static void d(String msg) { if (MyApplication.SHOW_LOGS) { logIt(Log.DEBUG, msg); } } private static void logIt(int level, String msg) { StackTraceElement[] stackTrace = Thread.currentThread().getStackTrace(); if (stackTrace != null && stackTrace.length > 4) { StackTraceElement element = stackTrace[4]; String fullClassName = element.getClassName(); StringBuilder simpleClassName = new StringBuilder( fullClassName.replace(MyApplication.getMyPackageName(), "")); while (simpleClassName.length() < 35) simpleClassName.append(" "); StringBuilder methodName = new StringBuilder(element.getMethodName()); methodName.append("()"); while (methodName.length() < 20) methodName.append(" "); msg = MessageFormat.format("T:{0} | {1} # {2}() => {3}", Thread.currentThread().getId(), simpleClassName, methodName, msg); Log.println(level, TAG, msg); } } }
MyApplication class
public class MyApplication extends Application { public static final boolean SHOW_LOGS = true; }
* don’t forget to add — android:name=”.MyApplication” — to your AndroidManifest.xml in ‘application’ tag
Inspired by: https://gist.github.com/dors/4651b8ecff2f76c012ae