package org.qii.weiciyuan.support.debug; /** * User: Jiang Qi * Date: 12-7-31 */ import org.qii.weiciyuan.BuildConfig; /** * Wrapper API for sending log output. */ public class AppLogger { protected static final String TAG = "weiciyuan"; private AppLogger() { } /** * Send a VERBOSE log message. * * @param msg The message you would like logged. */ public static void v(String msg) { if (BuildConfig.DEBUG) android.util.Log.v(TAG, buildMessage(msg)); } /** * Send a VERBOSE log message and log the exception. * * @param msg The message you would like logged. * @param thr An exception to log */ public static void v(String msg, Throwable thr) { if (BuildConfig.DEBUG) android.util.Log.v(TAG, buildMessage(msg), thr); } /** * Send a DEBUG log message. * * @param msg */ public static void d(String msg) { if (BuildConfig.DEBUG) android.util.Log.d(TAG, buildMessage(msg)); } /** * Send a DEBUG log message and log the exception. * * @param msg The message you would like logged. * @param thr An exception to log */ public static void d(String msg, Throwable thr) { if (BuildConfig.DEBUG) android.util.Log.d(TAG, buildMessage(msg), thr); } /** * Send an INFO log message. * * @param msg The message you would like logged. */ public static void i(String msg) { if (BuildConfig.DEBUG) android.util.Log.i(TAG, buildMessage(msg)); } /** * Send a INFO log message and log the exception. * * @param msg The message you would like logged. * @param thr An exception to log */ public static void i(String msg, Throwable thr) { if (BuildConfig.DEBUG) android.util.Log.i(TAG, buildMessage(msg), thr); } /** * Send an ERROR log message. * * @param msg The message you would like logged. */ public static void e(String msg) { if (BuildConfig.DEBUG) android.util.Log.e(TAG, buildMessage(msg)); } /** * Send a WARN log message * * @param msg The message you would like logged. */ public static void w(String msg) { if (BuildConfig.DEBUG) android.util.Log.w(TAG, buildMessage(msg)); } /** * Send a WARN log message and log the exception. * * @param msg The message you would like logged. * @param thr An exception to log */ public static void w(String msg, Throwable thr) { if (BuildConfig.DEBUG) android.util.Log.w(TAG, buildMessage(msg), thr); } /** * Send an empty WARN log message and log the exception. * * @param thr An exception to log */ public static void w(Throwable thr) { if (BuildConfig.DEBUG) android.util.Log.w(TAG, buildMessage(""), thr); } /** * Send an ERROR log message and log the exception. * * @param msg The message you would like logged. * @param thr An exception to log */ public static void e(String msg, Throwable thr) { if (BuildConfig.DEBUG) android.util.Log.e(TAG, buildMessage(msg), thr); } /** * Building Message * * @param msg The message you would like logged. * @return Message String */ protected static String buildMessage(String msg) { StackTraceElement caller = new Throwable().fillInStackTrace().getStackTrace()[2]; return new StringBuilder() .append(caller.getFileName()) .append(".") .append(caller.getMethodName()) .append("(): ") .append(msg).toString(); } }