Android Log日志封裝

一翻屈、簡介

為什么要對日志進(jìn)行封裝力细?

先對比一下效果:
clipboard.png

打印結(jié)果:
clipboard.png
封裝前:快捷鍵輸入loge便可打印出Log.e(TAG, "onCreate: ", );需要輸入?yún)?shù)TAG和參數(shù)msg。 且我們可以在Logcat頁面查看日志信息。

缺點(diǎn):

(1)輸入的參數(shù)較多且重復(fù)

(2)當(dāng)打印的日志信息過多時(shí)怕享,不方便查找我們所需的信息

(3)無法快速指定是哪一行打印出來的信息

(4)應(yīng)用發(fā)布到市場上時(shí)丹擎,需要手動一個(gè)個(gè)刪除打印的日志

封裝后:只需輸入你想打印的msg尾抑,使用方便。且可以在Logcat頁點(diǎn)擊類名即可跳轉(zhuǎn)到相應(yīng)的位置蒂培。

二再愈、Log具體封裝

import android.util.Log;

/**
 *
 * 日志封裝
 */

public class LogUtils {
    static String className;//類名
    static String methodName;//方法名
    static int lineNumber;//行數(shù)

    /**
     * 判斷是否可以調(diào)試
     * @return
     */
    public static boolean isDebuggable() {
        return BuildConfig.DEBUG;
    }

    private static String createLog(String log ) {
        StringBuffer buffer = new StringBuffer();
        buffer.append("================");
        buffer.append(methodName);
        buffer.append("(").append(className).append(":").append(lineNumber).append(")================:");
        buffer.append(log);
        return buffer.toString();
    }

    /**
     * 獲取文件名、方法名护戳、所在行數(shù)
     * @param sElements
     */
    private static void getMethodNames(StackTraceElement[] sElements){
        className = sElements[1].getFileName();
        methodName = sElements[1].getMethodName();
        lineNumber = sElements[1].getLineNumber();
    }

    public static void e(String message){
        if (!isDebuggable())
            return;
        getMethodNames(new Throwable().getStackTrace());
        Log.e(className, createLog(message));
    }

    public static void i(String message){
        if (!isDebuggable())
            return;
        getMethodNames(new Throwable().getStackTrace());
        Log.i(className, createLog(message));
    }

    public static void d(String message){
        if (!isDebuggable())
            return;
        getMethodNames(new Throwable().getStackTrace());
        Log.d(className, createLog(message));
    }

    public static void v(String message){
        if (!isDebuggable())
            return;
        getMethodNames(new Throwable().getStackTrace());
        Log.v(className, createLog(message));
    }

    public static void w(String message){
        if (!isDebuggable())
            return;
        getMethodNames(new Throwable().getStackTrace());
        Log.w(className, createLog(message));
    }
}

三翎冲、關(guān)閉調(diào)試

當(dāng)我們要將應(yīng)用發(fā)布到市場時(shí),需要把日志清除掉(關(guān)閉調(diào)試)媳荒。

(1)第一種方式:打開project Stucture
clipboard.png

(2)第二種方式:打開build.gradle
clipboard.png
就不需要像以前一樣一行行刪除抗悍。當(dāng)要用的時(shí)候再打開即可

四、源碼地址

https://github.com/DayorNight/BLCS

五钳枕、內(nèi)容推薦

CSDN地址:https://blog.csdn.net/cs_lwb/article/details/82823536
上一篇《Android 友盟多渠道打包》
參考文檔:https://blog.csdn.net/lmj623565791/article/details/52506545

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末缴渊,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子鱼炒,更是在濱河造成了極大的恐慌疟暖,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,640評論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件田柔,死亡現(xiàn)場離奇詭異俐巴,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)硬爆,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,254評論 3 395
  • 文/潘曉璐 我一進(jìn)店門欣舵,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人缀磕,你說我怎么就攤上這事缘圈×庸猓” “怎么了?”我有些...
    開封第一講書人閱讀 165,011評論 0 355
  • 文/不壞的土叔 我叫張陵糟把,是天一觀的道長绢涡。 經(jīng)常有香客問我,道長遣疯,這世上最難降的妖魔是什么雄可? 我笑而不...
    開封第一講書人閱讀 58,755評論 1 294
  • 正文 為了忘掉前任,我火速辦了婚禮缠犀,結(jié)果婚禮上数苫,老公的妹妹穿的比我還像新娘。我一直安慰自己辨液,他們只是感情好虐急,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,774評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著滔迈,像睡著了一般止吁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上燎悍,一...
    開封第一講書人閱讀 51,610評論 1 305
  • 那天赏殃,我揣著相機(jī)與錄音,去河邊找鬼间涵。 笑死仁热,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的勾哩。 我是一名探鬼主播抗蠢,決...
    沈念sama閱讀 40,352評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼思劳!你這毒婦竟也來了迅矛?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,257評論 0 276
  • 序言:老撾萬榮一對情侶失蹤潜叛,失蹤者是張志新(化名)和其女友劉穎秽褒,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體威兜,經(jīng)...
    沈念sama閱讀 45,717評論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡销斟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,894評論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了椒舵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片蚂踊。...
    茶點(diǎn)故事閱讀 40,021評論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖笔宿,靈堂內(nèi)的尸體忽然破棺而出犁钟,到底是詐尸還是另有隱情棱诱,我是刑警寧澤,帶...
    沈念sama閱讀 35,735評論 5 346
  • 正文 年R本政府宣布涝动,位于F島的核電站迈勋,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏醋粟。R本人自食惡果不足惜靡菇,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,354評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望昔穴。 院中可真熱鬧,春花似錦提前、人聲如沸吗货。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,936評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宙搬。三九已至,卻和暖如春拓哺,著一層夾襖步出監(jiān)牢的瞬間勇垛,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,054評論 1 270
  • 我被黑心中介騙來泰國打工士鸥, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留闲孤,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,224評論 3 371
  • 正文 我出身青樓烤礁,卻偏偏與公主長得像讼积,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個(gè)殘疾皇子脚仔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,974評論 2 355

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,160評論 25 707
  • 用兩張圖告訴你勤众,為什么你的 App 會卡頓? - Android - 掘金 Cover 有什么料? 從這篇文章中你...
    hw1212閱讀 12,728評論 2 59
  • 在此特此聲明:一下所有鏈接均來自互聯(lián)網(wǎng)鲤脏,在此記錄下我的查閱學(xué)習(xí)歷程们颜,感謝各位原創(chuàng)作者的無私奉獻(xiàn) ! 技術(shù)一點(diǎn)一點(diǎn)積...
    遠(yuǎn)航的移動開發(fā)歷程閱讀 11,123評論 12 197
  • 兩條永不相交的平行線 在各自的軌道上前進(jìn) 只是 偶爾創(chuàng)造了一次相遇 卻也要在片刻之后立刻回歸原本的軌道 “當(dāng)時(shí)的他...
    羽兮木閱讀 138評論 0 0
  • 古今難堪是離愁波岛,離愁難敘,何人不低頭?回首落花春夢去音半,幾許回憶则拷,殘?jiān)轮︻^贡蓖, 空對寒秋。少年心煌茬,貪塵緣斥铺, 夢醒處,來...
    Averson閱讀 294評論 0 1