Android崩潰資訊收集 Dora

2021-10-07 06:53:29 字數 2015 閱讀 2754

fork和star是對我們最好的認可。

序章

doraconfig.builder(this)

.crashreportpolicy(storagepolicy("doramusic/log"))

.build()

其它可配置屬性有:

crashreportpolicy:配置崩潰資訊分發的策略
filterchain:配置過濾器鏈,可以配置乙個也可以多個
crashinfo:自定義crashinfo崩潰資訊收集類
enabled:全域性功能啟用/禁用,預設是true
initlognotification:是否初始化日誌通知服務,如果用到了lognotificationpolicy則需要設定為true,否則設定為false可節省效能,預設為false
第一章 自定義crashinfo

你可以擴充套件crashinfo來收集更多的資訊上報,比如記憶體使用情況,cpu指令集,手機是否正在充電等。

第二章 自定義policy

第三章 自定義filter

版本2.0.5開始支援。自定義過濾器發生在上報前,如果過濾器handle()方法返回false,則後面的policy流程不會執行。過濾器是鏈式結構,可以乙個,也可以多個。過濾器必須全部不攔截,才會走到後面的policy流程。

第四章 自定義group

版本2.0.5開始支援。設計分組分發的目的在於,讓policy只做上報操作,邏輯控制交給group。自定義分組可以很好的分發崩潰資訊到不同渠道。例如繼承brandgroup得到vivogroup和oppogroup,可以把這兩個組的崩潰資訊分別分配給使用vivo手機和oppo手機除錯的android開發組成員。group分組規則一旦定義好,是可以在多個policy中使用的,這樣就做到了復用。分組可以應用到policy流程。有了分組後,同一型別policy重複使用就有意義了。比如vivo手機的崩潰資訊可以發給正在使用vivo手機除錯的開發者,然後oppo手機的崩潰資訊可以發給正在使用oppo手機除錯的開發者。

第五章 復合分組

使用complexgroup類可以組合2個以上的分組,比如將android6.0的手機分組和vivo手機取並集,就包括所有android6.0的手機和所有vivo手機。如果使用交集,就是android6.0的vivo手機。補集,則是除開android 6.0 vivo系統的手機以外的所有手機。

第六章 日誌系統

首先,日誌系統單獨使用不需要配置crashconfig。定義了乙個全域性的日誌控制開關,這個開關僅對輸出到logcat的日誌有效,俗稱舊日誌系統。它有以下方式輸出日誌,doralog.info()、doralog.error()、doralog.debug()。還有更好用的新日誌系統

,使用方式 doralog.print("要寫入檔案的內容");。開關對新日誌系統無效。如果你要在新日誌系統改變policy,

需要這麼寫,doralog.getchannel().setlogpolicy();因為這個新日誌系統的通道是全域性的單例,所以一旦修改,全域性模式變化。

1.2.2 版本

介紹:dora最初的樣子,最精簡的版本

功能:policy

2.0.5 版本

介紹:支援自定義策略、過濾器、分組分發

功能:policy、filter、group

2.2.9 版本

介紹:乙個強大的bug除錯框架,不僅支援被動接收崩潰資訊,還支援主動寫入日誌到檔案

功能:按型別分為兩大類,crash和log。按要素分為三類,策略、過濾器和分組。兩個維度組合起來支援以下5種,

crash+policy、crash+filter、crash+group、log+policy和log+group。logconsolepolicy和lognotificationpolicy,乙個用於應用在前台的輸出想要的資訊,乙個則用於後台執行。隨便說一下,崩潰資訊儲存到手機sd卡的檔名發生改變,由原來的只有崩潰資訊時的log+崩潰時間,變為崩潰資訊crash+崩潰時間以及日誌資訊log+日誌時間。另外,為了避免語義混淆,原logpolicy已更名為logcatpolicy。

Android 收集已發布程式的崩潰資訊

我們寫程式的時候都希望能寫出乙個沒有任何bug的程式,期望在任何情況下都不會發生程式崩潰。不過理想是豐滿的,現實是骨感的。沒有乙個程式設計師能保證自己寫的程式絕對不會出現異常崩潰。特別是針對使用者數達到幾十萬幾百萬的程式,當你使用者數達到一定數量級後,就算你的程式出現個別異常崩潰情況也不用驚訝。既然...

iOS app崩潰收集

1.友盟 但現在還只支援oc 不支援swift 如果是swift 有問題,捕捉不到問題 mobclick.setcrashreportenabled true mobclick.setlogenabled true let version string nsbundle.mainbundle obj...

ios崩潰日誌收集 iOS崩潰日誌收集與解析

收集crash日誌方式 1.裝置上直接檢視 路徑 設定 隱私 分析 分析資料 2.xcode獲取裝置上資訊 路徑 xcode選單欄window devices and simulators 選中裝置 view device logs 3.xcode獲取發布版本崩潰資訊 路徑 xcode選單欄wind...