package com.anthony.library.utils;
import android.util.Log;
/**
* Created by hpw on 16/10/27.
*/
public class LogUtil {
private static boolean isDebug = true;
static String mTag = "LogUtils";
//for error log
public static void error(String msg) {
if (isDebug) {
Log.e(mTag, msg);
}
}
//for warming log
public static void warn(String msg) {
if (isDebug) {
Log.w(mTag, msg);
}
}
//for info log
public static void info(String msg) {
if (isDebug) {
Log.i(mTag, msg);
}
}
//for debug log
public static void debug(String msg) {
if (isDebug) {
Log.d(mTag, msg);
}
}
//for verbose log
public static void verbose(String msg) {
if (isDebug) {
Log.v(mTag, msg);
}
}
//for error log
public static void e(String msg) {
if (isDebug) {
Log.e(mTag, msg);
}
}
//for warming log
public static void w(String msg) {
if (isDebug) {
Log.w(mTag, msg);
}
}
//for info log
public static void i(String msg) {
if (isDebug) {
Log.i(mTag, msg);
}
}
//for debug log
public static void d(String msg) {
if (isDebug) {
Log.d(mTag, msg);
}
}
//for verbose log
public static void v(String msg) {
if (isDebug) {
Log.v(mTag, msg);
}
}
//for warming log
public static void w(String tag, String msg) {
if (isDebug) {
if (tag == null || "".equalsIgnoreCase(tag.trim())) {
tag = mTag;
}
Log.w(tag, msg);
}
}
//for info log
public static void i(String tag, String msg) {
if (isDebug) {
if (tag == null || "".equalsIgnoreCase(tag.trim())) {
tag = mTag;
}
Log.i(tag, msg);
}
}
//for debug log
public static void d(String tag, String msg) {
if (isDebug) {
if (tag == null || "".equalsIgnoreCase(tag.trim())) {
tag = mTag;
}
Log.d(tag, msg);
}
}
//for verbose log
public static void v(String tag, String msg) {
if (isDebug) {
if (tag == null || "".equalsIgnoreCase(tag.trim())) {
tag = mTag;
}
Log.v(tag, msg);
}
}
//for verbose log
public static void e(String tag, String msg) {
if (isDebug) {
if (tag == null || "".equalsIgnoreCase(tag.trim())) {
tag = mTag;
}
Log.e(tag, msg);
}
}
public static void setDebug(boolean isDebug) {
LogUtil.isDebug = isDebug;
}
public static boolean isDebug() {
return isDebug;
}
/**
* 点击Log跳转到指定源码位置
*
* @param tag
* @param msg
*/
public static void showLog(String tag, String msg) {
if (isDebug) {
if (tag == null || "".equalsIgnoreCase(tag.trim())) {
tag = mTag;
}
StackTraceElement[] stackTraceElement = Thread.currentThread()
.getStackTrace();
int currentIndex = -1;
for (int i = 0; i < stackTraceElement.length; i++) {
if (stackTraceElement[i].getMethodName().compareTo("showLog") == 0) {
currentIndex = i + 1;
break;
}
}
if (currentIndex >= 0) {
String fullClassName = stackTraceElement[currentIndex].getClassName();
String className = fullClassName.substring(fullClassName
.lastIndexOf(".") + 1);
String methodName = stackTraceElement[currentIndex].getMethodName();
String lineNumber = String
.valueOf(stackTraceElement[currentIndex].getLineNumber());
Log.i(tag, msg + "\n ---->at " + className + "." + methodName + "("
+ className + ".java:" + lineNumber + ")");
} else {
Log.i(tag, msg);
}
}
}
}