Skip to content

Instantly share code, notes, and snippets.

@AntonHolovin
Last active August 29, 2015 13:59
Show Gist options
  • Save AntonHolovin/10969919 to your computer and use it in GitHub Desktop.
Save AntonHolovin/10969919 to your computer and use it in GitHub Desktop.
Logger for android
public class LogTag {
private static String sClassName;
private static String sMethodName;
private static int sLineNumber;
private LogTag() {
}
public static boolean isDebug() {
return BuildConfig.DEBUG;
}
private static String createLog(String log) {
return String.format("[%s:%s] %s", sMethodName, sLineNumber, log);
}
private static void getMethodNames(StackTraceElement[] stackTraceElements) {
sClassName = stackTraceElements[1].getFileName();
sMethodName = stackTraceElements[1].getMethodName();
sLineNumber = stackTraceElements[1].getLineNumber();
}
public static void e(String message) {
if (!isDebug()) {
return;
}
// Throwable instance must be created before any methods
getMethodNames(new Throwable().getStackTrace());
Log.e(sClassName, createLog(message));
}
public static void i(String message) {
if (!isDebug()) {
return;
}
getMethodNames(new Throwable().getStackTrace());
Log.i(sClassName, createLog(message));
}
public static void d(String message) {
if (!isDebug()) {
return;
}
getMethodNames(new Throwable().getStackTrace());
Log.d(sClassName, createLog(message));
}
public static void v(String message) {
if (!isDebug()) {
return;
}
getMethodNames(new Throwable().getStackTrace());
Log.v(sClassName, createLog(message));
}
public static void w(String message) {
if (!isDebug()) {
return;
}
getMethodNames(new Throwable().getStackTrace());
Log.w(sClassName, createLog(message));
}
public static void wtf(String message) {
if (!isDebug()) {
return;
}
getMethodNames(new Throwable().getStackTrace());
Log.wtf(sClassName, createLog(message));
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment