最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

android上一個(gè)可追蹤代碼具體到函數(shù)某行的日志類

 更新時(shí)間:2012年12月25日 10:51:08   作者:  
追蹤代碼到函數(shù)具體某行,這樣的功能,是每一個(gè)程序員都希望會有的,因?yàn)樗梢詭椭覀冏粉櫟侥承写a的錯(cuò)誤,接下來介紹下android上一個(gè)可追蹤代碼到函數(shù)具體某行的日志類,希望對開發(fā)者有所幫助
代碼如下:
復(fù)制代碼 代碼如下:

package xiaogang.enif.utils;

/**
* The Class LogUtils for log printing, which help us
* easy to trace our codes or logics in the project .
*
* @author zhao xiaogang
* @time 2011.4.12
*/
public class LogUtils {

private final static int VERBOSE = 0;
private final static int DEBUG = 1;
private final static int INFO = 2;
private final static int WARN = 3;
private final static int ERROR = 4;
private final static int DEFAULT_LEVEL = -1;

private int level;

private final String clazz;

private static final String TAG = "LogUtils";

public static LogUtils getDebugLog(Class<?> clazz, int l) {
LogUtils log = new LogUtils(clazz);
log.level = l;
return log;
}

public static LogUtils getLog(Class<?> clazz) {
return new LogUtils(clazz);
}

public LogUtils(Class<?> clazz) {
this.clazz = "[" + clazz.getSimpleName() + "] ";
level = DEFAULT_LEVEL;
}

public void verbose(String message) {
verbose(message, null);
}

public void debug(String message) {
debug(message, null);
}

public void info(String message) {
info(message, null);
}

public void warn(String message) {
warn(message, null);
}

public void error(String message) {
error(message, null);
}

public void verbose(String message, Throwable t) {
if (VERBOSE < level)
return;
if (message != null)
android.util.Log.v(TAG, clazz + " Line: " + getLineNumber() + " : " + message);
if (t != null)
android.util.Log.v(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());
}

public void debug(String message, Throwable t) {
if (DEBUG < level)
return;
if (message != null)
android.util.Log.d(clazz, clazz + " Line: " + getLineNumber() + " : " + message);
if (t != null)
android.util.Log.d(clazz, clazz + " Line: " + getLineNumber() + " : " + t.toString());
}

public void info(String message, Throwable t) {
if (INFO < level)
return;
if (message != null)
android.util.Log.i(TAG, clazz + " Line: " + getLineNumber() + " : " + message);
if (t != null)
android.util.Log.i(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());
}

public void warn(String message, Throwable t) {
if (WARN < level)
return;
if (message != null)
android.util.Log.w(TAG, clazz + " Line: " + getLineNumber() + " : " + message);
if (t != null)
android.util.Log.w(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());
}

public void error(String message, Throwable t) {
if (ERROR < level)
return;
if (message != null)
android.util.Log.e(TAG, clazz + " Line: " + getLineNumber() + " : " + message);
if (t != null)
android.util.Log.e(TAG, clazz + " Line: " + getLineNumber() + " : " + t.toString());
}

private static int getLineNumber() {
return Thread.currentThread().getStackTrace()[5].getLineNumber();
}
}

好用的話,記得給好評,嘿嘿!

相關(guān)文章

  • Android Fragment 基本了解(圖文介紹)

    Android Fragment 基本了解(圖文介紹)

    Android是在Android 3.0 (API level 11)開始引入Fragment的可以把Fragment想成Activity中的模塊,這個(gè)模塊有自己的布局,有自己的生命周期,單獨(dú)處理自己的輸入,在Activity運(yùn)行的時(shí)候可以加載或者移除Fragment模塊
    2013-01-01
  • Android使用Photoview實(shí)現(xiàn)圖片左右滑動及縮放功能

    Android使用Photoview實(shí)現(xiàn)圖片左右滑動及縮放功能

    這篇文章主要為大家詳細(xì)介紹了Android使用Photoview實(shí)現(xiàn)圖片左右滑動及縮放功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-01-01
  • 封裝的android監(jiān)聽手指左右滑動屏幕的事件類分享

    封裝的android監(jiān)聽手指左右滑動屏幕的事件類分享

    這篇文章主要介紹了封裝的android監(jiān)聽手指左右滑動屏幕的事件類分享,本文分別給出了簡單處理方法的代碼和封裝好的處理類代碼,需要的朋友可以參考下
    2015-05-05
  • Android 修改Preferences默認(rèn)樣式的步驟

    Android 修改Preferences默認(rèn)樣式的步驟

    這篇文章主要介紹了Android 修改Preferences默認(rèn)樣式的步驟,幫助大家更好的理解和學(xué)習(xí)使用Android開發(fā),感興趣的朋友可以了解下
    2021-04-04
  • Android常用布局使用技巧示例講解

    Android常用布局使用技巧示例講解

    本文詳細(xì)介紹了Android常用布局,包括LinearLayout、RelativeLayout、FrameLayout、ConstraintLayout等,分析了它們的適用場景、優(yōu)缺點(diǎn)和使用技巧,幫助開發(fā)者更好地選擇和使用合適的布局,提升UI設(shè)計(jì)和開發(fā)效率
    2023-04-04
  • 關(guān)于Android中點(diǎn)擊通知欄的通知啟動Activity問題解決

    關(guān)于Android中點(diǎn)擊通知欄的通知啟動Activity問題解決

    這篇文章主要介紹了關(guān)于解決Android中點(diǎn)擊通知欄的通知啟動Activity問題的相關(guān)資料,文中介紹的非常詳細(xì),對大家具有一定的參考價(jià)值,需要的朋友們下面來一起看看吧。
    2017-03-03
  • 一個(gè)簡單的Android圓弧刷新動畫

    一個(gè)簡單的Android圓弧刷新動畫

    這篇文章主要為大家詳細(xì)介紹了一個(gè)簡單的Android圓弧刷新動畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-09-09
  • Android 中 android.view.WindowLeaked的解決辦法

    Android 中 android.view.WindowLeaked的解決辦法

    這篇文章主要介紹了Android 中 android.view.WindowLeaked的解決辦法的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • android內(nèi)存優(yōu)化之圖片優(yōu)化

    android內(nèi)存優(yōu)化之圖片優(yōu)化

    對圖片本身進(jìn)行操作。盡量不要使用setImageBitmap、setImageResource、BitmapFactory.decodeResource來設(shè)置一張大圖,因?yàn)檫@些方法在完成decode后,最終都是通過java層的createBitmap來完成的,需要消耗更多內(nèi)存
    2012-12-12
  • Android實(shí)現(xiàn)蒙板效果

    Android實(shí)現(xiàn)蒙板效果

    這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)蒙板效果的關(guān)鍵性代碼,感興趣的小伙伴們可以參考一下
    2016-04-04

最新評論

离岛区| 山西省| 磐石市| 崇左市| 望都县| 高淳县| 辽宁省| 阿勒泰市| 德阳市| 上虞市| 庆云县| 邹平县| 武夷山市| 武夷山市| 大石桥市| 古交市| 商丘市| 斗六市| 商河县| 钟山县| 赞皇县| 稻城县| 黄龙县| 铅山县| 三穗县| 肃宁县| 衡山县| 元江| 凤翔县| 铜梁县| 清新县| 清原| 胶州市| 本溪市| 全州县| 朝阳区| 三江| 临潭县| 赣榆县| 吉隆县| 乌兰县|