package com.yjtc.everhomes.services.util;import android.util.Log;/**** Logging: Log simple strings or formatted strings in one simple call:** final String formattedTestString = "first argument = %s, second argument = %s";* final String firstArgument = "abc";* final Object secondArgument = new Object() {* public String toString() {* return "123";* };* };** L.d(formattedTestString, firstArgument, secondArgument);* Which results in a log output 09-23 17:41:30.508: D/TestActivity:26(18510): onCreate(): first argument = abc, second argument = 123** Convenience class for logging. Logs the given parameters plus the calling class and line as a tag and the calling method's name*/public class L {private static final boolean DEBUG = true;public static void v(Throwable t) {log(Log.VERBOSE, t, null);} public static void v(Object s1, Object... args) {log(Log.VERBOSE, null, s1, args);} public static void v(Throwable t, Object s1, Object... args) {log(Log.VERBOSE, t, s1, args);} public static void d(Throwable t) {log(Log.DEBUG, t, null);} public static void d(Object s1, Object... args) {log(Log.DEBUG, null, s1, args);} public static void d(Throwable t, Object s1, Object... args) {log(Log.DEBUG, t, s1, args);} public static void i(Throwable t) {log(Log.INFO, t, null);} public static void i(Object s1, Object... args) {log(Log.INFO, null, s1, args);} public static void i(Throwable t, Object s1, Object... args) {log(Log.INFO, t, s1, args);} public static void w(Throwable t) {log(Log.WARN, t, null);} public static void w(Object s1, Object... args) {log(Log.WARN, null, s1, args);} public static void w(Throwable t, Object s1, Object... args) {log(Log.WARN, t, s1, args);} public static void e(Throwable t) {log(Log.ERROR, t, null);} public static void e(Object s1, Object... args) {log(Log.ERROR, null, s1, args);} public static void e(Throwable t, Object s1, Object... args) {log(Log.ERROR, t, s1, args);} private static void log(final int pType, final Throwable t, final Object s1,final Object... args) {if (pType == Log.ERROR || DEBUG) {final StackTraceElement stackTraceElement = Thread.currentThread().getStackTrace()[4]; final String fullClassName = stackTraceElement.getClassName();final String className = fullClassName.substring(fullClassName.lastIndexOf(".") + 1);final int lineNumber = stackTraceElement.getLineNumber();final String method = stackTraceElement.getMethodName(); final String tag = className + ":" + lineNumber; final StringBuilder stringBuilder = new StringBuilder();stringBuilder.append(method);stringBuilder.append("(): "); if (s1 != null) {final String message = (args == null) ? s1.toString() : String.format((String) s1, args);stringBuilder.append(message);} switch (pType) {case Log.VERBOSE:if (t != null) {Log.v(tag, stringBuilder.toString(), t);} else {Log.v(tag, stringBuilder.toString());}break; case Log.DEBUG:if (t != null) {Log.d(tag, stringBuilder.toString(), t);} else {Log.d(tag, stringBuilder.toString());}break; case Log.INFO:if (t != null) {Log.i(tag, stringBuilder.toString(), t);} else {Log.i(tag, stringBuilder.toString());}break; case Log.WARN:if (t != null) {Log.w(tag, stringBuilder.toString(), t);} else {Log.w(tag, stringBuilder.toString());}break; case Log.ERROR:if (t != null) {Log.e(tag, stringBuilder.toString(), t);} else {Log.e(tag, stringBuilder.toString());}break;}}}public static void i() {i("....");}public static void d() {d("....");}public static void e() {e("....");}public static void v() {v("....");}public static void w() {w("....");}}

更多相关文章

  1. 代码中设置drawableleft
  2. android 3.0 隐藏 系统标题栏
  3. Android开发中activity切换动画的实现
  4. Android(安卓)学习 笔记_05. 文件下载
  5. Android中直播视频技术探究之—摄像头Camera视频源数据采集解析
  6. 技术博客汇总
  7. android 2.3 wifi (一)
  8. AndRoid Notification的清空和修改
  9. Android中的Chronometer

随机推荐

  1. android EditText处理焦点问题和键盘收起
  2. Android(安卓)系统中 Location Service
  3. Android中的沙箱模型
  4. android各阶段目标与要求
  5. Android(安卓)Studio中Button等控件的Tex
  6. 更改android avd emulator 按键不可用
  7. Android开发——应用程序生命周期
  8. ViewPager 一屏显示多个效果
  9. AndroidManifest---定义Android清单
  10. Android数字签名解析(二)