如何更优雅的打Log
新的篇章
之前做了一个 Android-ui-2019(这个同步更新)
但是有朋友反馈说,开源库内容不错,但是有点太多了,不便于查找,希望我做个开源库整理,听到这个需求,我面对1800+的开源库,竟然有点不好下手,想来想去,我决定将这个开源库进行整理,重新配图并持续更新,希望大家多多关注我。比心~
精彩回顾
Viewpager开源库整理
时间选择器开源库整理
Menu开源库整理
动态权限库
日常开发中打log日志是我们必不可少的,那么怎么写能让你的Log更美观更好看更显眼呢,今天分享一下我封装Log的方式
方式一
Log.i("lovesosoi","Logi");
Log.d("lovesosoi","Logd");
Log.v("lovesosoi","Logv");
Log.e("lovesosoi","Loge");
方式二
public static String TAG="Lovesosoi";
Log.i(TAG,"Logi");
Log.d(TAG,"Logd");
Log.v(TAG,"Logv");
Log.e(TAG,"Loge");
方式三
将Log进行简单的封装,其实就是做一个开关,也没有加太多的功能
public class LogUtils {
private static boolean isDebug = true;
private static String TAG = "tag";
public boolean isDebug() {
return isDebug;
}
public static void setDebug(boolean debug) {
isDebug = debug;
}
public static void setTag(String debug) {
TAG = debug;
}
public static void e(String msg) {
if (isDebug) {
Log.e(TAG,msg);
}
}
public static void e(String tag,String msg) {
if (isDebug) {
Log.e(tag,msg);
}
}
}
class Test{
public static void main(){
LogUtils.setDebug(true);
LogUtils.setTag("Lovesosoi");
LogUtils.e("heheh");
}
}
为了追求更加便捷,好看实用的Log,我在github 上进行了搜索查找,找到了以下的Log开源库。
电脑端显示Log
名字 | 介绍 | star | 图片 |
---|---|---|---|
logger | 简介好看使用的log库 | 11540星 | image |
xLog | 简单、美观、强大、可扩展的 Android 和 Java 日志库 | 1859星 | image |
KLog | Android LogCat 工具类,支持行号、所在函数、点击自动跳转、Json格式自定解析打印等功能。 | 1725星 | image |
FLogger | 基于双缓冲队列、多刷盘机制的超轻量级 java 日志 | 499星 | |
jlog | jlog是一款针对Android开发者的日志工具 | 478星 | |
Android-PLog | A Pure, Pretty and Powerful logging library for android | 165星 | |
LogCollector | 一个收集 app 输出日志的工具 | 159星 |
手机端显示Log
名字 | 介绍 | star | 图片 |
---|---|---|---|
Lynx | 可在手机上查看 logcat | 682星 | image |
LogcatViewer | 可在手机上查看 logcat | 226星 | image |
Console | 可在手机上查看 logcat | 92星 | image |
DebugOverlay-Android | App 端,查看 Logcat 信息 | 80星 | image |
看了大神写的库,我心里就有一个疑问,我和大神的区别在哪里,我总结一下主要是两点,一是样式,大神的样式更好看,二是功能更全,我们去看一下star 最高的代码
解析Logger
为什么Logger能显示Log的代码行数,他是怎么做到的呢
mNW4rn.png调用这个方法就能获取到当前方法所在方法栈信息,我们再来看看StackTraceElement这个类
mNWoV0.png我们做一个小测试~
mNW5bq.png这样类名,方法名,行数就都获取到了。
第二个问题来了,怎么做到这么整洁的呢
源码是这么做的,拼出来的!
其他的就是格式问题了,自己动手封装一个属于自己的Log库试试吧~~
总结
所有开源库都是在 Android-ui-2019基础上修改的,欢迎大家star,我会把我遇到所有好的开源库分享出来,大家一起学习,也欢迎大家订阅我的个人微信公众号MAndroid,有问题可以问我哦,我会尽我所能给大家解答的。
网友评论