總網頁瀏覽量

關於我自己

我的相片
人生的必修課是接受無常,人生的選修課是放下執著。

2013年6月6日 星期四

[Android] 編列Log資訊







Log.java

package com.tsots.Log;

public class Log {
 public static String TAG = "TSOTS_LOG";
 static String nowClass = Thread.currentThread().getStackTrace()[3].getClassName();    //顯示呼叫此Log的Class
 static String nowMethod = Thread.currentThread().getStackTrace()[3].getMethodName();    //顯示呼叫此Log的Method
 static int nowLineNumber = Thread.currentThread().getStackTrace()[3].getLineNumber(); //顯示呼叫此Log的行號

 public final static void d(String TAG, String msg) {
  String nowClass = "";
  String nowMethod = "";
  String finalStr = null;
  int nowLineNumber = 0;
  StackTraceElement stackTraceElement = null;
  String tId="-["+Thread.currentThread().getId()+"]";
  try {
   stackTraceElement=Thread.currentThread().getStackTrace()[3];
   nowClass = stackTraceElement.getClassName();
   nowClass=(nowClass.indexOf(46)!=-1)?nowClass.substring(nowClass.lastIndexOf(46)+1):nowClass;
   nowMethod = stackTraceElement.getMethodName();
   nowLineNumber = stackTraceElement.getLineNumber();
   finalStr = tId+"["+nowClass + "][" + nowMethod +"]" + nowLineNumber + "]" + msg;
   android.util.Log.d(TAG, finalStr); 
  }catch (Exception e) {
   android.util.Log.e(TAG, nowMethod, e);
   android.util.Log.d(TAG, msg);
  }
 }
}


//



============================================
在同package下的其它檔案要印Log時只要呼叫
L.info("this is a msg");
就會顯示如下資訊
Application    Tag                Text
com.tsots.log TSOTS_LOG [MainActivity][onCreate][16]this is a msg

沒有留言:

張貼留言