/** * 2012 Foxykeep (http://datadroid.foxykeep.com) * <p> * Licensed under the Beerware License : <br /> * As long as you retain this notice you can do whatever you want with this stuff. If we meet some * day, and you think this stuff is worth it, you can buy me a beer in return */ package com.foxykeep.datadroid.util; import com.actionbarsherlock.BuildConfig; import android.util.Log; /** * Centralized helper for logging information for DataDroid. * <p> * To modify the log level, use the following command : * * <pre> * adb shell setprop log.tag.DataDroid <LOGLEVEL> * with LOGLEVEL being one of the following : * VERBOSE, DEBUG, INFO, WARN or ERROR * </pre> * <p> * The default log level is DEBUG. * <p> * Also the logs are disabled in a release build by default. If you want them to be enabled, modify * the value of {@link #ENABLE_LOGS_IN_RELEASE}. * * @author Foxykeep */ public final class DataDroidLog { /** * Primary log tag for games output. */ private static final String LOG_TAG = "DataDroid"; /** * Whether the logs are enabled in release builds or not. */ private static final boolean ENABLE_LOGS_IN_RELEASE = false; public static boolean canLog(int level) { return (ENABLE_LOGS_IN_RELEASE || BuildConfig.DEBUG) && Log.isLoggable(LOG_TAG, level); } public static void d(String tag, String message) { if (canLog(Log.DEBUG)) { Log.d(tag, message); } } public static void v(String tag, String message) { if (canLog(Log.VERBOSE)) { Log.v(tag, message); } } public static void i(String tag, String message) { if (canLog(Log.INFO)) { Log.i(tag, message); } } public static void i(String tag, String message, Throwable thr) { if (canLog(Log.INFO)) { Log.i(tag, message, thr); } } public static void w(String tag, String message) { if (canLog(Log.WARN)) { Log.w(tag, message); } } public static void w(String tag, String message, Throwable thr) { if (canLog(Log.WARN)) { Log.w(tag, message, thr); } } public static void e(String tag, String message) { if (canLog(Log.ERROR)) { Log.e(tag, message); } } public static void e(String tag, String message, Throwable thr) { if (canLog(Log.ERROR)) { Log.e(tag, message, thr); } } }