All Projects → JackWHLiu → dora

JackWHLiu / dora

Licence: GPL-3.0 license
🌟Dora is an open-source framework focused on usability and flexibility.It is widely used to collect crash information and print variable values.It is very powerful and useful to debug android program. It is customizable and extensible in the simpleton-like ways. Dora是一个专注于易用性和灵活性的开源框架,它被广泛用于收集崩溃信息和打印变量值,对调试Android程序非常强大和有用,傻瓜式的自定义和扩展。

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to dora

Bugsnag Js
Javascript error handling tool for Bugsnag. Monitor and report JavaScript bugs & errors.
Stars: ✭ 625 (+4066.67%)
Mutual labels:  crash-reporting, debug
Bugsnag Php
Bugsnag error monitoring and crash reporting tool for PHP apps
Stars: ✭ 475 (+3066.67%)
Mutual labels:  crash-reporting, debug
CrashLogger
A dll injected into process to dump stack when crashing.
Stars: ✭ 19 (+26.67%)
Mutual labels:  crash-reporting, debug
Bugsnag Go
Automatic panic monitoring for Go and Go web frameworks, like negroni, gin, and revel
Stars: ✭ 155 (+933.33%)
Mutual labels:  crash-reporting, debug
Bugsnag Node
[DEPRECATED] Please upgrade to our Universal JS notifier "@bugsnag/js" • https://github.com/bugsnag/bugsnag-js
Stars: ✭ 48 (+220%)
Mutual labels:  crash-reporting, debug
Bugsnag Laravel
Bugsnag notifier for the Laravel PHP framework. Monitor and report Laravel errors.
Stars: ✭ 746 (+4873.33%)
Mutual labels:  crash-reporting, debug
Bugsnag React Native
Error monitoring and reporting tool for native exceptions and JS errors in React Native apps
Stars: ✭ 374 (+2393.33%)
Mutual labels:  crash-reporting, debug
Bugsnag Android
Bugsnag crash monitoring and reporting tool for Android apps
Stars: ✭ 990 (+6500%)
Mutual labels:  crash-reporting, debug
Bugsnag Python
Official bugsnag error monitoring and error reporting for django, flask, tornado and other python apps.
Stars: ✭ 69 (+360%)
Mutual labels:  crash-reporting, debug
bugsnag-java
Bugsnag error reporting for Java.
Stars: ✭ 51 (+240%)
Mutual labels:  crash-reporting, debug
UnitySettings
Runtime debugging menu (like setting on Android) for Unity.
Stars: ✭ 26 (+73.33%)
Mutual labels:  debug
Crashalert
Set of React Native components that allow reporting of the crashes in RN applications.
Stars: ✭ 68 (+353.33%)
Mutual labels:  crash-reporting
laravel-ray
Debug with Ray to fix problems faster in Laravel apps
Stars: ✭ 225 (+1400%)
Mutual labels:  debug
Sherlock
Sherlock reports any crash that occurs in your application
Stars: ✭ 104 (+593.33%)
Mutual labels:  crash-reporting
backend debug
Debug support in TYPO3 backend
Stars: ✭ 20 (+33.33%)
Mutual labels:  debug
android-sdk
AppSpector is a debugging service for mobile apps
Stars: ✭ 39 (+160%)
Mutual labels:  debug
Logcat
这是一个Android 上 效率极高的 Log 工具,主要功能为控制不同级别的Log输出,Log信息保存到文件、打印行号、函数调用、Json解析、点击跳转、多标签Tag 支持无限长字符串打印,无Logcat4000字符限制等功能
Stars: ✭ 90 (+500%)
Mutual labels:  logcat
live-platform
Add breakpoints, logs, metrics, and spans to live production applications
Stars: ✭ 37 (+146.67%)
Mutual labels:  debug
app
Buggregator is a beautiful, lightweight debug server build on Laravel that helps you catch your smpt, sentry, var-dump, monolog, ray outputs. It runs without installation on multiple platforms.
Stars: ✭ 259 (+1626.67%)
Mutual labels:  crash-reporting
react-native-debug-console
A network and console debug component and modal for react native purely in JavaScript
Stars: ✭ 17 (+13.33%)
Mutual labels:  debug

Dora Debug SDK for Android License: GPL-3.0 Release Codacy Badge

序章

在启动页SplashActivity中配置,因为Application中无法申请Android6.0以上的运行时权限。请注意,只支持Java项目的收集,低版本DoraConfig名叫CrashConfig。

DoraConfig.Builder(this) .crashReportPolicy(StoragePolicy("DoraMusic/log")) .build()

其它可配置属性有:

  • crashReportPolicy:配置崩溃信息分发的策略
  • filterChain:配置过滤器链,可以配置一个也可以多个
  • crashInfo:自定义CrashInfo崩溃信息收集类
  • enabled:全局功能启用/禁用,默认是true
  • interceptCrash:是否拦截app闪退
  • initLogNotification:是否初始化日志通知服务,如果用到了LogNotificationPolicy则需要设置为true,否则设置为false可节省性能,默认为false

第一章 自定义CrashInfo

你可以扩展CrashInfo来收集更多的信息上报,比如内存使用情况,CPU指令集,手机是否正在充电等。

第二章 自定义Policy

通过继承CrashReportPolicyWrapper来自己实现策略,Policy可以自由组合,即你可以选其中几个定义好的Policy使用,这些Policy是串联执行的。它们之间互不影响,A、B和C三个Policy,按顺序执行ABC,A执行失败了、B和C继续上报,前提条件是在子线程执行失败。

第三章 自定义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系统的手机以外的所有手机。

第六章 日志系统

首先,日志系统单独使用不需要配置DoraConfig。定义了一个全局的日志控制开关,这个开关仅对输出到LogCat的日志有效,俗称旧日志系统。它有以下方式输出日志,DoraLog.info()、DoraLog.error()、DoraLog.debug()。还有更好用的新日志系统

,使用方式 DoraLog.print("要写入文件的内容");。开关对新日志系统无效。如果你要在新日志系统改变Policy,

需要这么写,DoraLog.getChannel().setLogPolicy();因为这个新日志系统的通道是全局的单例,所以一旦修改,全局模式变化。

1.2.2 版本

介绍:Dora最初的样子,最精简的版本

功能:Policy

所有类:Collector、CrashCollector、CrashConfig、CrashInfo、CrashReportPolicy、CrashReportPolicyWrapper、DoraUncaughtExceptionHandler、LogPolicy、StoragePolicy、WebPolicyBase

2.0.5 版本

介绍:支持自定义策略、过滤器、分组分发

功能:Policy、Filter、Group

所有类:ActivityThreadFilter、AndroidVersionGroup、BrandGroup、Collector、ComplexGroup、CrashCollector、CrashConfig、CrashInfo、CrashReportFilter、CrashReportFilterChain、CrashReportGroup、CrashReportPolicy、CrashReportPolicyWrapper、DefaultFilter、DefaultGroup、DoraUncaughtExceptionHandler、DoraWebPolicy、LogPolicy、StoragePolicy、TimeFilter、WebPolicy、WebPolicyBase

2.3.1 版本

介绍:一个强大的BUG调试框架,不仅支持被动接收崩溃信息,还支持主动写入日志到文件

功能:按类型分为两大类,crash和log。按要素分为三类,策略、过滤器和分组。两个维度组合起来支持以下5种,

crash+policy、crash+filter、crash+group、log+policy和log+group。LogConsolePolicy和LogNotificationPolicy,一个用于应用在前台的输出想要的信息,一个则用于后台运行。随便说一下,崩溃信息保存到手机SD卡的文件名发生改变,由原来的只有崩溃信息时的log+崩溃时间,变为崩溃信息crash+崩溃时间以及日志信息log+日志时间。另外,为了避免语义混淆,原LogPolicy已更名为LogcatPolicy。

所有类:ActivityThreadFilter、AndroidVersionGroup、BrandGroup、Collector、ComplexGroup、CrashCollector、CrashInfo、CrashReportFilter、CrashReportFilterChain、CrashReportPolicy、DefaultFilter、DefaultGroup、DoraConfig、DoraConstants、DoraLog、DoraNotificationManager、DoraNotificationService、DoraUncaughtExceptionHandler、DoraWebPolicy、Group、Info、LogCollector、LogConsolePolicy、LogFilePolicy、LogInfo、LogNotificationPolicy、LogReportPolicy、LogcatPolicy、Policy、PolicyWrapper、StoragePolicy、TimeFilter、WebPolicy、WebPolicyBase

如果你觉得有用的话,不妨starfork一下! 回到页首并支持 https://github.com/JackWHLiu/dora.git

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].