LogReport

崩溃日志上传框架
授权协议 未知
开发语言 Java
所属分类 程序开发、 日志工具(Logging)
软件类型 开源软件
地区 国产
投 递 者 陶飞鸿
操作系统 Android
开源组织
适用人群 未知
 软件概览

LogReport是一个崩溃日志上传框架 ,当App崩溃的时,把崩溃信息保存到本地的同时,自动给GitHub提交崩溃issue,你只需要几句,就能完成所有配置,更多细节请了解下方

另外,崩溃信息支持邮件上传和HTTP上传,自动提交到issue使用的是邮件上传的方式。如果你拥有私人服务器,你也可以使用HTTP上传。


特性介绍

特性 简介
自定义日志保存路径 默认保存在Android/data/com.xxxx.xxxx/log中
自定义日志缓存大小 默认大小为30M,超出后会自动清空文件夹
支持多种上传方式 目前支持邮件上传与HTTP上传,会一并把文件夹下的所有日志打成压缩包作为附件上传
日志加密保存 提供AES,DES两种加密解密方式支持,默认不加密
日志按天保存 目前崩溃日志和Log信息是按天保存,你可以继承接口来实现更多的保存样式
携带设备与OS信息 在创建日志的时候,会一并记录OS版本号,App版本,手机型号等信息,方便还原崩溃
自定义日志上传的时机 默认只在Wifi状态下上传支持,也支持在Wifi和移动网络下上传
支持保存Log日志 在打印Log的同时,把Log写入到本地(保存的时候会附带线程名称,线程id,打印时间),还原用户操作路径,为修复崩溃提供更多细节信息
GitHub自动提交issue 使用邮件发送的形式,把接受崩溃日志的邮箱和GitHub特定的开源项目绑定在一起即可,更多细节请看下面介绍

依赖添加

在你的项目根目录下的build.gradle文件中加入依赖

allprojects {
    repositories {
        ...
        maven { url "https://jitpack.io" }
    }
}

添加依赖

dependencies {
    compile 'com.github.wenmingvs:LogReport:1.0.3'
}

初始化

在自定义Application文件加入以下几行代码即可,默认使用email发送。如果您只需要在本地存储崩溃信息,不需要发送出去,请把initEmailReport()删掉即可。

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        initCrashReport();
    }

    private void initCrashReport() {
        LogReport.getInstance()
                .setCacheSize(30 * 1024 * 1024)//支持设置缓存大小,超出后清空
                .setLogDir(getApplicationContext(), "sdcard/" + this.getString(this.getApplicationInfo().labelRes) + "/")//定义路径为:sdcard/[app name]/
                .setWifiOnly(true)//设置只在Wifi状态下上传,设置为false为Wifi和移动网络都上传
                .setLogSaver(new CrashWriter(getApplicationContext()))//支持自定义保存崩溃信息的样式
                //.setEncryption(new AESEncode()) //支持日志到AES加密或者DES加密,默认不开启
                .init(getApplicationContext());
        initEmailReporter();
    }

    /**
     * 使用EMAIL发送日志
     */
    private void initEmailReporter() {
        EmailReporter email = new EmailReporter(this);
        email.setReceiver("wenmingvs@gmail.com");//收件人
        email.setSender("wenmingvs@163.com");//发送人邮箱
        email.setSendPassword("apptest1234");//邮箱的客户端授权码,注意不是邮箱密码
        email.setSMTPHost("smtp.163.com");//SMTP地址
        email.setPort("465");//SMTP 端口
        LogReport.getInstance().setUploadType(email);
    }
}
  • 用robotframework+Jenkins做持续集成测试的时候如果输出多个suit,需要合并报告,以下是报告合并方法。   1.合并output.xml的方法 Jenkins添加shell模块 >>>rebot -N <报告名>  <第一个output.xml文件路径>  <第二个output.xml文件路径> >>>rebot -N <报告名> -d <合并后report.html输出的路径

  • 一、Bugreport 文章Bugreport源码篇(一)从源码角度阐释了Bugreport,那么本文则是从实战角度来说说,如何看懂bugreport,对于通过bugreport获取到内容往往非常长,这里简单划分为19部分,先整体上简单说说每部分log的title信息。 1. 系统build相关信息 系统build信息: dumpstate: date Build: getprop ro.buil

  • 360手机 1) 在桌面的【其他应用】文件夹找到【用户反馈】,或通过搜索找到【用户反馈】 2 )  点击系统问题反馈 3 )  等复现问题,让问题出现2~3次 4 )  问题复现之后,直接到文件管理、本地存储,找到根目录下的“log或者mtklog”文件,将文件压缩后发送给工作人员 MIUI: 1) 在拨号键输入 *#*#284#*#* 来抓日志(不包括前后空格),过程可能要 1 分钟左右,成功后

  • 做 Android 开发,打 log 是常规操作。 某天收到反馈说 log 丢失 (黑人问号脸),这里记录下探索过程。 1.修改log缓冲区大小 系统默认的 log 缓冲区比较小,logcat 可能出现 read: unexpected EOF! 的情况,这样 log 就中断了,不再输出。 查看缓冲区大小 logcat -g 真机上验证 xxx:/ # logcat -g main: ring b

  • An error report file with more information is saved as hs_err_pid2756.log weblogic启服务时遇到的问题,重新部署都不行,myeclipse重启也不行。。。。。。 其实这个问题很简单,重启电脑即可!O(∩_∩)O哈哈~ 转载于:https://www.cnblogs.com/sdp-dream/p/3288505.htm

  • using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Web; namespace OnlineReportWeb {     public class Loger     {         private static bool _isEnable = t

  • 有时候项目Crash 了, 我们可以使用adb 查看crash 信息 在终端中输入   adb shell   然后就是查看crash 命令 logcat -b crash 这样就能查看crash 的地方了.

  •   实时打印的主要有:logcat main,logcat radio,logcat events,tcpdump,还有高通平台的还会有QXDM日志     状态信息的有:adb shell dmesg,adb shell dumpstate,adb shell dumpsys,adb bugreport     讲解一下各自作用:     通过DDMS抓的其实跟用dos批处理抓的一样都是logc

 相关资料
  • 将崩溃日志提交给远程服务器 进程: Main, Renderer 以下是一个自动提交崩溃日志到服务器的示例 const { crashReporter } = require('electron') crashReporter.start({ productName: 'YourName', companyName: 'YourCompany', submitURL: 'https:/

  • 本文向大家介绍iOS 捕获程序崩溃日志,包括了iOS 捕获程序崩溃日志的使用技巧和注意事项,需要的朋友参考一下 iOS开发中遇到程序崩溃是很正常的事情,如何在程序崩溃时捕获到异常信息并通知开发者? 下面就介绍如何在iOS中实现: 1. 在程序启动时加上一个异常捕获监听,用来处理程序崩溃时的回调动作 官方文档介绍:Sets the top-level error-handling function

  • 我不明白我的问题在哪里。我的应用程序在启动时崩溃与此崩溃日志。 iOS 7.0。2(11A501)报告版本:104 异常类型: 00000020异常代码: 0x0000008badf00d高亮线程: 0 应用特定信息:com.myapps未能及时启动 已用CPU总时间(秒):4.420(用户4.420,系统0.000),10%CPU已用应用程序CPU时间(秒):0.714,2%CPU 线程0:0

  • 我正在使用Tizen IDE进行可穿戴设备,在选择新的空工作区后,它崩溃了,有什么想法吗?我有最新的IE浏览器。

  • 今天在工作中,我的eclipse开始反复崩溃。打开它并开始编辑文件几分钟后就会崩溃。我重新安装了所有东西:Eclipse、WorkspaceJava但没有任何帮助。请尝试确定我的问题的根源,因为我目前无法工作。 (…)

  • 有人尝试过新的火力点坠毁报告吗?