Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android 懶惰日志打印器 LogUtil

android 懶惰日志打印器 LogUtil

編輯:關於Android編程

android日志打印中 需要頻繁定義日志的TAG 日志內容不能輸出函數名 以及 行數 定義了一個基於這個需求的日志輔助類  
import java.text.SimpleDateFormat;  
import java.util.Date;  
  
import android.util.Log;  
  
public class LogUtil {  
    private static final boolean DEBUG = true;  
      
    public static void d(String TAG, String method, String msg) {  
        Log.d(TAG, "[" + method + "]" + msg);  
    }  
      
    public static void d(String TAG, String msg){  
        if (DEBUG) {  
            Log.d(TAG, "[" + getFileLineMethod() + "]" + msg);  
        }  
    }  
      
    public static void d(String msg){  
        if (DEBUG) {  
            Log.d(_FILE_(), "[" + getLineMethod() + "]" + msg);  
        }  
    }  
      
    public static void e(String msg){  
        if (DEBUG) {  
            Log.e(_FILE_(), getLineMethod() + msg);  
        }  
    }  
      
    public static void e(String TAG, String msg){  
        if (DEBUG) {  
            Log.e(TAG, getLineMethod() + msg);  
        }  
    }  
  
    public static String getFileLineMethod() {  
        StackTraceElement traceElement = ((new Exception()).getStackTrace())[2];  
        StringBuffer toStringBuffer = new StringBuffer("[")  
                .append(traceElement.getFileName()).append(" | ")  
                .append(traceElement.getLineNumber()).append(" | ")  
                .append(traceElement.getMethodName()).append("]");  
        return toStringBuffer.toString();  
    }  
      
    public static String getLineMethod() {  
        StackTraceElement traceElement = ((new Exception()).getStackTrace())[2];  
        StringBuffer toStringBuffer = new StringBuffer("[")  
                .append(traceElement.getLineNumber()).append(" | ")  
                .append(traceElement.getMethodName()).append("]");  
        return toStringBuffer.toString();  
    }  
  
    public static String _FILE_() {  
        StackTraceElement traceElement = ((new Exception()).getStackTrace())[2];  
        return traceElement.getFileName();  
    }  
  
    public static String _FUNC_() {  
        StackTraceElement traceElement = ((new Exception()).getStackTrace())[1];  
        return traceElement.getMethodName();  
    }  
  
    public static int _LINE_() {  
        StackTraceElement traceElement = ((new Exception()).getStackTrace())[1];  
        return traceElement.getLineNumber();  
    }  
  
    public static String _TIME_() {  
        Date now = new Date();  
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");  
        return sdf.format(now);  
    }  
}  

 


  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved