成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淺談安卓日志分析

譯文
移動開發 Android
本文將和您討論Android日志系統的各種基本類型、格式、位置、過濾器、以及分析工具。

【51CTO.com快譯】眾所周知,日志在應用產品的整個開發生命周期中發揮著重要的作用。例如:在軟件開發過程中,錯誤日志可以幫助開發人員及時地識別出程序中的邏輯錯誤;而在將產品發布到市場之后,支持工程師可以通過分析錯誤日志,來解決各種疑難雜癥。在我們常用的安卓(Android)系統中,各種日志默認是被集中式管理的。當然,市場上有許多可用來開發Android應用的工具,能夠讓應用開發程序員們編寫出自定義的日志消息,以及特定日志語句定義的各種過濾器。目前,Android生態系統提供了不同類型的日志,其中包括:應用日志、系統日志、事件日志、以及廣播日志(Radio Logs)。

日志記錄系統的組成包括:內核驅動程序和內核緩沖區(用于存儲Android日志消息),可用于創建日志條目和訪問日志消息的C、C++和Java類,可用于查看日志消息(logcat)的獨立程序,以及具有查看日志和過濾來自主機的日志消息(通過eclipse或ddms)等組件。

Android系統的Linux內核有著四個不同的日志緩沖區,它們針對系統的不同部分提供著日志記錄。例如:通過文件系統里/dev/log的設備節點,我們可以訪問到Android的四個日志緩沖區:main、event、radio和system。其中main日志用于應用程序,event用于系統事件信息,radio用于電話相關信息,而system則與低級系統消息和調試有關。

日志中的每一條消息都包含有一個標記。通過此類標記我們可以獲悉:該消息來自系統或應用的哪一部分、時間戳(該消息何時到達的)、消息的日志級別(或消息所代表的事件優先級)、以及日志消息體本身(有關錯誤、異常或信息等詳細的說明)。

Android系統中的四大日志類型:

1.應用日志

  • 使用android.util.Log類方法,將不同優先級的消息寫到日志中。
  • 利用各種Java類,以字符串的形式靜態聲明它們的標記,并傳遞給日志方法。
  • 日志方法可用來標識消息的“優先級”(或日志級別)。
  • 各種消息檢索工具(logcat)在處理日志時,可以按標識或優先級來進行過濾。

2.系統日志

  • 使用android.util.Slog類,來編寫具有不同優先級的消息、及其關聯消息。
  • 許多Android框架類都能夠將系統日志(可能比較雜亂)與應用日志消息區分開來。
  • 格式化的消息是通過C/C++庫被傳遞到內核驅動的,該驅動能夠將消息存儲到適當的緩沖區(如:系統緩沖區)中。

3.事件日志

  • 使用android.util.EventLog類創建事件日志消息,此類消息通常為二進制格式。
  • 日志條目包含了二進制標記代碼,并跟隨著二進制參數。
  • 消息標記代碼通常被存儲在系統的/system/etc/event-log-tags中。
  • 每個消息都帶有日志消息的字符串,以及指向該條目關聯(存儲)值的代碼。

4.廣播日志

  • 作用于與電話(調制解調器)相關的信息。
  • 日志條目由二進制標簽代碼和消息所組成,可用于提供各種類型的網絡信息。
  • 日志記錄系統會自動將帶有特定標記的消息,路由到radio緩沖區中。

Android上日志格式

在Android系統里常見的日志格式為:tv_sectv_nsec priority pidtid tag messageLen Message。其中:

  • tag:日志標簽。
  • tv_sec&tv_nsec:日志消息的時間戳。
  • pid:來自日志消息的進程ID。
  • tid:線程ID。
  • priority的值可參照如下規律,按照從低到高的順序排列:
    • V-詳細(Verbose,最低優先級)*
    • D-調試(Debug)*
    • I-信息(Info)*
    • W-警告(Warning)*
    • E-錯誤(Error)*
    • F-致命(Fatal)*
    • S-靜默(Silent,最高優先級,但不打印任何內容)*

日志文件位置

原則上,Android的各項日志(包括崩潰日志)可以被存儲在多處,且無標準化目錄(即:由系統的ROM所特定)的要求。在此,我們介紹一些常用且常見的目錄:

  •  /data/anr:Dalvik(譯者注:是Google自行設計的用于Android平臺的虛擬機。)會在ANR處寫入棧的跟蹤,即“應用無響應(Application Not Responding)”,同時也稱為“強制關閉(Force-Close)”。
  •  /data/dontpanic:此處包含了一些崩潰日志,以便實現各種跟蹤。
  •  /data/kernelpanics:此處存儲了與“內核錯誤(kernel panic)”相關的日志。
  •  /data/tombstones:此處會包含多個tombstone_nn文件(nn是從0到10的數字,也就是說,在超過10以后需要重新計數)。

“Log”相關的命令行工具

在實際項目中,我們可以通過各種應用程序或命令行工具,從設備或仿真器上捕獲在Android上產生的相關日志,進而將它們共享給各類開發人員或維護人員,以便他們開展深入的分析。下面是三個常用的命令:

  • adb logcat:顯示當前Android系統所有類型的日志。
  • adb logcat -v threadtime:在顯示內容中包含日期和時間。
  • adb logcat -v threadtime> logfile.txt:將日志存儲在logfile.txt中。

實用的過濾器模式

為了減少數據量,您可以通過在adb命令(請參見-- https://www.pcloudy.com/executing-adb-shell-commands/)中使用如下過濾器(filter),來縮減日志的總量。當然,您也可以使用此類過濾器,來搜索用戶Android設備上的日志文件。

  • adb logcat -f:將所有日志保存到一個文件中。
  • adb logcat“*:E”:獲取所有的致命錯誤信息。
  • adb logcat | grep -i “foo.example.”:獲取與“foo.example.*”相關的所有日志并標記。
  • adb logcat“application_or_tag_name:*”“*:S”:按應用名稱獲取所有的日志。
  • adb logcat -b events “gsm_service_state_change” “*:S”:獲取所有GSM的狀態更改。
  • adb logcat -b radio:獲取所有的廣播事件。

日志分析

至此,我們對Android的日志系統有了基本的了解。在實際分析中,我們通常會關注兩類應用日志,它們分別是:

  • 調試日志–在開發和測試階段產生的日志文件。
  • 生產日志–由最終用戶在使用過程中直接生成的文件。

我們可以使用諸如GoogleLogTool和SonyLogTool之類的工具,通過采用過濾器模式,進行深入的分析。

原標題:Android Log Analysis ,作者: Bala Murugan

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:龐桂玉 來源: 51CTO
相關推薦

2020-07-21 18:29:19

LinuxUnixiOS

2016-09-19 15:40:25

2021-08-02 22:56:54

漏斗分析數據

2017-10-16 15:04:32

javaAndroidAPT技術

2014-08-29 15:16:41

SDN

2021-08-19 09:17:12

IOT物聯網設備分析

2021-08-01 08:08:04

安卓安全APP

2016-03-12 21:46:56

Inspeckage應用程序動態分析

2023-10-31 18:42:21

2023-12-17 14:36:05

2016-05-13 15:08:46

2012-09-06 09:31:14

PHPmysqlpdo

2019-06-20 16:07:12

鴻蒙安卓操作系統

2013-11-04 14:49:34

安卓

2018-02-09 08:59:47

安卓FuchsiaiOS

2010-04-16 11:17:33

hints調整

2014-08-07 09:24:08

Process

2011-07-05 16:13:07

2012-05-01 08:27:44

谷歌安卓

2013-10-17 10:17:41

安卓
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 99热.com| 久久久999国产精品 中文字幕在线精品 | 中文字幕乱码一区二区三区 | 久久成人人人人精品欧 | 日韩网站在线观看 | 国产日韩欧美在线播放 | 久久精品高清视频 | 久久国产精品视频 | 91日b| 免费一级网站 | 欧美精品91| 国产欧美日韩在线播放 | 欧美国产激情二区三区 | 一区二区三区在线 | 91免费高清| 欧美一二三区 | 久久免费国产视频 | 在线看日韩 | 欧美精品一级 | 久草在线 | 亚洲97| 超碰国产在线 | 精品中文字幕在线 | 国产成人精品一区二 | 免费一区在线观看 | 国产亚洲一区二区三区在线观看 | aaaaa毛片 | 男人的天堂在线视频 | 亚洲在线一区 | 国产精品久久久久久52avav | 色香婷婷 | 久久综合久久久 | 亚洲精品久久久久久一区二区 | 成人免费片 | av一级久久 | 国产一区二区视频在线 | 午夜爱爱网 | 三级视频国产 | 四虎在线视频 | 在线一区| 嫩草国产|