Android 日志工具包
1). 实现效果图
2). 实现思路
- 绘制边框
- 打印线程名称
- 打印堆栈信息
- 打印消息体
3). 边框绘制
边框实际上也是以字符串的形式打印
4). 打印线程信息
Log.println(priority, mTag, HORIZONTAL_LINE + "Thread: " + Thread.currentThread().getName());
5). 打印堆栈信息
builder.append(HORIZONTAL_LINE).append("").append(level).append(element.getClassName().substring(element.getClassName().lastIndexOf(".") + 1))
.append(".").append(element.getMethodName()).append(" ").append(" (").append(element.getFileName())
.append(":").append(element.getLineNumber()).append(")");
6). 打印消息体
// 获取消息总长度
int tLen = msg.length();
// 获取消息长度打印长度的倍数
int multiple = tLen / LENGTH + 1;
// 创建临时变量
String tmp;
// 遍历倍数
for (int i = 0; i < multiple; i++) {
// 获取字符内容
if (i != multiple - 1) {
// 获取指定范围的数据
tmp = msg.substring(i * LENGTH, (i + 1) * LENGTH);
} else {
// 最后一段数据
tmp = msg.substring(i * LENGTH);
}
// 打印消息
Log.println(priority, mTag, HORIZONTAL_LINE + tmp);
}
7). 代码下载
8). Gradle依赖
compile 'com.mazaiting:log:1.0.0'

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
-
上一篇
Spring Cloud Gateway 聚合swagger文档
关于pigX:**全网最新的微服务脚手架,Spring Cloud Finchley、oAuth2的最佳实践** 在微服务架构下,通常每个微服务都会使用Swagger来管理我们的接口文档,当微服务越来越多,接口查找管理无形中要浪费我们不少时间,毕竟懒是程序员的美德。 由于swagger2暂时不支持webflux 走了很多坑,完成这个效果感谢 @dreamlu @世言。 文档聚合效果 通过访问网关的 host:port/swagger-ui.html,即可实现: pig聚合文档效果预览传送门 通过右上角的Select a spec 选择服务模块来查看swagger文档 Pig的Zuul 核心实现 获取到zuul配置的路由信息,主要到SwaggerResource /** * 参考jhipster * GatewaySw
-
下一篇
听说你Binder机制学的不错,来面试下这几个问题(一)
Binder承担了绝大部分Android进程通信的职责,可以看做是Android的血管系统,负责不同服务模块进程间的通信。在对Binder的理解上,可大可小,日常APP开发并不怎么涉及Binder通信知识,最多就是Service及AIDL的使用会涉及部分Binder知识。Binder往小了说可总结成一句话:一种IPC进程间通信方式,负责进程A的数据,发送到进程B。往大了说,其实涉及的知识还是很多的,如Android 对于原Binder驱动的扩展、Zygote进程孵化中对于Binder通信的支持、Java层Binder封装,Native层对于Binder通信的封装、Binder讣告机制等等。很多分析Binder框架的文都是从ServiceManager、Binder驱动、addService、getService来分析等来分析,其实这些主要是针对系统提供的服务,但是bindService启动的服务走的却还是有很大不同的。本篇文章主要简述一些Binder难以理解的点,但不会太细的跟踪分析,只抛砖,自己去发掘玉。 Binder的定向制导,如何找到目标Binder,唤起进程或者线程Binder...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker安装Oracle12C,快速搭建Oracle学习环境
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2整合Thymeleaf,官方推荐html解决方案
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- MySQL8.0.19开启GTID主从同步CentOS8
- Hadoop3单机部署,实现最简伪集群
- MySQL数据库在高并发下的优化方案
- CentOS7,CentOS8安装Elasticsearch6.8.6