Androd encapsulates a Log printing tool for one-click printing without printing
When writing a project, we cannot avoid using the Log printing tool in Android, but when the code is more and more written, we add a Log and a Log, when our project is going to be launched, we will always forget what logs are there, which is very troublesome. At that time, we had all our hearts and minds. Now we have encapsulated a Log tool, you only need to define a boolean to implement the print and non-print functions with one click. Just copy it and get it to the project!
Don't thank me. Please call me Lei Feng.
Package com. example. qlog; import java. util. calendar; public final class QLog {public static final boolean DEBUG = true; // whether to print/*** Send a {@ link # VERBOSE} log message. ** @ param tag Used to identify the source of a log message. it usually identifies the class or activity where the * log call occurs. * @ param msg The message you wowould like logged. */public static int v (String tag, String format, Ob Ject... args) {if (DEBUG) {if (args = null | args. length = 0) {return android. util. log. v (tag, format);} return android. util. log. v (tag, String. format (format, args);} return 0;}/*** Send a {@ link # DEBUG} log message. ** @ param tag Used to identify the source of a log message. it usually identifies the class or activity where the * log call occurs. * @ param msg The message you wowould like Logged. */public static int d (String tag, String format, Object... args) {if (DEBUG) {if (args = null | args. length = 0) {return android. util. log. d (tag, format);} return android. util. log. d (tag, String. format (format, args);} return 0;}/*** Send an {@ link # INFO} log message. ** @ param tag Used to identify the source of a log message. it usually identifies the class or activity where t He * log call occurs. * @ param msg The message you wowould like logged. */public static int I (String tag, String format, Object... args) {if (DEBUG) {if (args = null | args. length = 0) {return android. util. log. I (tag, format);} return android. util. log. I (tag, String. format (format, args);} return 0;}/*** Send a {@ link # WARN} log message. ** @ param tag Used to identify the source of a log Message. it usually identifies the class or activity where the * log call occurs. * @ param msg The message you wowould like logged. */public static int w (String tag, String format, Object... args) {if (DEBUG) {if (args = null | args. length = 0) {return android. util. log. w (tag, format);} return android. util. log. w (tag, String. format (format, args);} return 0;}/*** Send a {@ link # WARN} log m Essage and log the exception. ** @ param tag Used to identify the source of a log message. it usually identifies the class or activity where the * log call occurs. * @ param tr An exception to log */public static int w (String tag, Throwable tr) {if (DEBUG) {return android. util. log. w (tag, tr);} return 0;}/*** Send an {@ link # ERROR} log message. ** @ param tag Used to identify the source of Log message. it usually identifies the class or activity where the * log call occurs. * @ param msg The message you wowould like logged. */public static int e (String tag, String msg, Throwable e) {if (DEBUG) {return android. util. log. e (tag, msg, e);} return 0;}/*** Send an {@ link # ERROR} log message. ** @ param tag Used to identify the source of a log message. it usually identifies the class or Activity where the * log call occurs. * @ param msg The message you wowould like logged. */public static int e (String tag, String msg) {if (DEBUG) {return android. util. log. e (tag, msg);} return 0;}/*** Low-level logging call. ** @ param priority The priority/type of this log message * @ param tag Used to identify the source of a log message. it usually identifies the class or activity where * Log call occurs. * @ param msg The message you wowould like logged. * @ return The number of bytes written. */public static int println (int priority, String tag, String msg) {if (DEBUG) {return android. util. log. println (priority, tag, msg);} return 0;}/*** print call time ** @ param cur ???? ?? * @ Return call time */public static long debugDuration (long cur) {long sec = System. currentTimeMillis (); StackTraceElement elem = Thread. currentThread (). getStackTrace () [3]; d ("Performance", elem. getFileName () + "_" + elem. getLineNumber () + ":" + (sec-cur); return sec;}/*** print the current call location: file line number method ** @ param tag * @ return */public static int printLogPos (String tag) {StackTraceElement elem = Thread. CurrentThread (). getStackTrace () [3]; return d (tag, elem. getClassName () + ":" + elem. getLineNumber () + ":" + elem. getMethodName ();}/*** get the current call location ?? Class Name ** @ param depth stack depth * @ return */public static String getLogPos (int depth) {StackTraceElement elem = Thread. currentThread (). getStackTrace () [depth]; return elem. getClassName ();}/*** depth = 4 ** @ see # getLogPos (int) * @ return */public static String getLogPos () {return getLogPos (4 );} /*** get the current ?? Code> from???? Seconds ?? ** @ Param from * @ return */public static long getSecond (Calendar from) {return (System. currentTimeMillis ()-from. getTimeInMillis ()/1000;} private static final Calendar _ 20120101 = Calendar. getInstance (); static {_ 20120101.set( 2012, 0, 0, 0, 0);}/*** from = 20120101 ** @ see # getSecond (Calendar) * @ return */public static long getSecond () {return getSecond (_ 20120101 );}}