Android 日誌列印

2021-08-19 20:51:54 字數 790 閱讀 2114

一、jakewharton/timber

描述:只有乙個timber類,**精簡。

功能:

1、可列印格式化訊息和異常訊息

2、預設tag是當前類類名,timber.tag()方法可改變本次列印的tag

原始碼設計分析:

1、timber定義了抽象樹、森林(儲存樹的佇列)以及乙個分發樹(遍歷呼叫森林的樹)。這麼設計的好處是,假設把timber列印日誌叫做乙個日誌點,那麼我們可以對乙個日誌點通過種植(plant)多棵樹實現不同的處理,處理結束就移除樹(uproot)

2、timber也定義了一棵測試樹(debugtree),重寫了gettag方法,通過new throwable().getstacktrace()獲取stacktraceelement,從中拿到當前日誌點的類作為tag。我們可以種植這棵樹,就不用設定tag了,當然如果你想更改tag,可以通過timber.tag方法改變。

擴充套件:stacktraceelement獲取方法呼叫棧的資訊

二、orhanobut/logger

描述:met

hod met

ho

d(cl

ass cla

ss

:line

l in

e)–>>」+te

xtt ex

t);

2、as中terminal中輸入adb logcat > log.txt,即可將執行時異常記錄到log.txt檔案中,該檔案將會位於專案頂級目錄中。可用來列印分析長期的某個log行為。cmd+c鍵,可終止追蹤記錄。

html列印日誌 日誌檔案

日誌檔案的主要作用是記錄了某個時刻,某個地點發生了什麼!對乙個程式設計師而言,日誌系統在程式開發 維護的過程中是非常重要的,日誌系統可以幫助我們快速定位程式錯誤發生的時間和位置 以及程式出錯的大致原因。在日誌資訊足夠詳細的前提下,日誌還可以幫助我們分析使用者行為,從而更好地為客戶爸爸們提供精準有效的...

iOS 列印日誌

簡單介紹以下幾個巨集 1 va args 是乙個可變引數的巨集,這個可變引數的巨集是新的c99規範中新增的,目前似乎只有gcc支援 vc6.0的編譯器不支援 巨集前面加上 的作用在於,當可變引數的個數為0時,這裡的 起到把前面多餘的 去掉,否則會編譯出錯。2 file 巨集在預編譯時會替換成當前的源...

Python日誌列印

簡單示例 import sys import ctypes import logging import logging.handlers reload sys sys.setdefaultencoding utf 8 log file test log logging.basicconfig fil...