Android 自动存储Log、在线Log追踪

本文介绍了一款名为XLog的高效日志管理工具,该工具能够帮助开发者在软件维护和异常捕获方面提高效率。通过配置服务和使用示例,开发者可以轻松实现日志的本地保存、自动管理、控制大小、过期删除及自定义Crash后的操作。此外,工具还提供了邮件发送功能,以便快速获取当前日志文件。最后,附上了GitHub链接供读者进一步了解和使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

软件背景

    当线上产品人数达到一定级别时,软件的维护,BUG的解决就变得至关重要。 但测试阶段发现的BUG毕竟有限,一旦上线后只能靠一些第三放的Crash追踪平台解决,而对于非Crash又无法复现的BUG只能放任不管么?

    对于这种需求我就专门弄了XLog这个工具,将开发者需要的重要数据保存到本地,并能自动管理、控制大小、过期删除、自定义Crash后的操作(比如自动上传LOG文件到服务器)


示例

    需要声明服务:

<service android:name="com.sum.xlog.core.LogService" />

    使用配置

XLogConfiguration.Builder builder = new XLogConfiguration.Builder(MyApplication.this)
                .setConsoleLogLevel(LogLevel.D) //Logger输出最低级别
                .setFileLogLevel(LogLevel.D) //保存至文件最低级别
                .setCrashHandlerOpen(true) //开启异常捕获
                .setOriginalHandler(Thread.getDefaultUncaughtExceptionHandler()) //第三方统计
                .setOnUpdateCrashInfoListener(null) //Crash自动上传处理
                .setFileLogRetentionPeriod(7); //过期删除
        XLog.init(builder.build());

    

    基本方法

XLog.d("=== XXX ===");//省略写法
XLog.d(TAG, "=== xxx ===");//这里只是用Debug Level示例
XLog.d(TAG, "=== %s,%s ===", "XXX", "XXX"); //多个参数是推荐使用,无需用户拼接字符

    所有的LOG信息会先缓存到一个缓冲List中,当LOG信息大于20条时才会调用保存方法,这里是为了保证程序的流畅性。

    日志会自动保存到SD下的packageName_xlog文件夹下(当然这个路径开发者可以使用XLogConfiguration自己配置),想要快速获取当前LOG日志文件可以使用FileUtil.getTodayLogFilePath()

    

 Intent data = new Intent(Intent.ACTION_SEND); //这里用一个发送邮件方法作为一个示例,如果有服务器接口支持的话,可以直接传到服务器中
data.putExtra(Intent.EXTRA_EMAIL,new String[] {"test@test.com"});
data.putExtra(Intent.EXTRA_SUBJECT, getString(R.string.app_name));
data.putExtra(Intent.EXTRA_TEXT, "这是我的LOG日志");
data.putExtra(Intent.EXTRA_STREAM, Uri.parse("file://" + FileUtil.getTodayLogFilePath()));
data.setType("message/rfc882");
startActivity(Intent.createChooser(data, getString(R.string.app_name)));

    


    附上Github连接:https://github.com/Qiu800820/XLog

    

转载于:https://my.oschina.net/qiu800820/blog/632106

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值