package fr.prcaen.externalresources;
import android.support.annotation.IntDef;
import android.util.Log;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
@SuppressWarnings("unused") public final class Logger {
public static final int LEVEL_OFF = 0;
public static final int LEVEL_ERROR = 1;
public static final int LEVEL_WARN = 2;
public static final int LEVEL_INFO = 3;
public static final int LEVEL_DEBUG = 4;
public static final int LEVEL_VERBOSE = 5;
@Level private static int level = LEVEL_ERROR;
@Retention(RetentionPolicy.SOURCE) @IntDef({
LEVEL_OFF, LEVEL_ERROR, LEVEL_WARN, LEVEL_INFO, LEVEL_DEBUG, LEVEL_VERBOSE
}) public @interface Level {
}
public static void v(String tag, String msg) {
if (level == LEVEL_VERBOSE) {
Log.v(tag, msg);
}
}
public static void d(String tag, String msg) {
if (level >= LEVEL_DEBUG) {
Log.d(tag, msg);
}
}
public static void i(String tag, String msg) {
if (level >= LEVEL_INFO) {
Log.i(tag, msg);
}
}
public static void w(String tag, String msg) {
if (level >= LEVEL_WARN) {
Log.w(tag, msg);
}
}
public static void e(String tag, String msg) {
if (level >= LEVEL_ERROR) {
Log.e(tag, msg);
}
}
public static void e(String tag, String msg, Throwable tr) {
if (level >= LEVEL_ERROR) {
Log.e(tag, msg, tr);
}
}
@Level public static int getLevel() {
return level;
}
public static void setLevel(@Level int level) {
Logger.level = level;
}
}