LogReport 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
LogReport 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
LogReport 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
LogReport 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
LogReport 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !

软件简介

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);
    }
}
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表了博客
2020/04/16 08:45

Pytest系列(17)- pytest-xdist分布式测试的原理和流程

如果你还想从头学起Pytest,可以看看这个系列的文章哦! https://www.cnblogs.com/poloyy/category/1690628.html pytest-xdist分布式测试的原理 前言 xdist的分布式类似于一主多从的结构,master机负责下发命令,控制slave机;slave机根据master机的命令执行特定测试任务 在xdist中,主是master,从是workers 大致原理 xdist会产生一个或多个workers,workers都通过master来控制 每个worker负责执行完整的测试用例集,然后按照m...

0
0
发表了博客
2015/02/08 21:38

实验:关于XPath中的13个轴

XSLT使用XPath来找寻XML文档中的信息,这几天在学习XSLT的找寻路径过程中,我写了下面这个例子,来加深我对XPath中各个轴的概念的理解 测试用的XML文档和XSLT文档 XML文档:LogReport.xml <?xml version="1.0" encoding="gb2312"?> <?xml-stylesheet type='text/xsl' href='LogReport.xslt'?> <LogReport CreateTime="2015/2/7 20:34:17">   <Data>DataA</Data>   <Data>DataB</Data>   <Data>DataC</Data>   <Lo...

0
10
发表了博客
2019/10/24 17:19

Pytest权威教程21-API参考-04-钩子(Hooks)

[toc] 返回: Pytest权威教程 钩子(Hooks) 参考: 编写插件。 引用可由conftest.py文件实现的所有Hook方法。 引导时的Hook方法 引导时的Hook方法要求尽早注册插件(内部和setuptools插件)。 pytest_load_initial_conftests(early_config,parser,args): 在命令行选项解析之前实现初始conftest文件的加载。 注意:不会为conftest.py文件调用此Hook方法,仅适用于setuptools插件。 参数: early_config(_pytest.config.Config) - pyte...

0
0
发表了博客
2015/03/10 13:27

经网站出错,谈谈网站备份及上传的重要性!

  上周日,为了优化网站Tag标签静态化有利于搜索引擎;结果一时图快,没有及时备份文件就急忙修改,导致网站瘫痪,而无法访问!   当时一着急,既然忘了传以前备份的文件进行覆盖;一冲动就把网站所有的文件给删除掉了。因为心里想反正之前用阿里云虚拟主机每天整站压缩打包过了。   但,乐晨由于初次,经验尚浅;把整站压缩包传到虚拟主机,通过阿里云虚拟主机解压到根目录出了错,试了几次无法压缩网站备份文件后;我选择了通...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
0 评论
3 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部