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();
}
}