Android 中android.util
包下有个Log
类,支持Verbose,Debug,Info,Warn,Error 5个等级的Log打印,然而这个类功能略简陋,只支持简单的信息输出,而且每次必须带一个TAG参数,发布的时候要关闭调试信息也不方便.其实最关键的是这个Log不够酷(:з」∠)
这是国内一个开发者开发的一个功能非常完善的一个Log库,可以说是很酷了.
这个和上面的差不多,也是国内一个开发者写的.
这个是国外大神写的,以上两个Log应该也借鉴了这个开源库,可以说是鼻祖级别了.在此前大半年的开发中我都是使用的这个开源库来打Log.
源代码设计模式用的不错
这些Log可以打印代码所在行数,栈信息,线程信息等.那他们使用了什么方法呢?
其实很简单
只用了两个方法而已
StackTraceElement[] elements = Thread.currentThread().getStackTrace();//获得执行栈信息,比如类,行数,方法名等
和
Thread.currentThread().getId();//获得线程Id
以一定格式打印,Android Studio会解析栈的打印信息,然后我们点击就可以准确定位到行数了.
忍logger不能有多个TAG很久了,所以前段时间下定决心决定自己改一个,由此YxfLog便出现了.
//在最先初始化的类中加入如下代码,以下参数皆为可选参数
static {
YxfLog.setMainTag("Main"); // 设置主TAG,默认TAG: Yxf
YxfLog.setDefaultIsShowThreadInfo(false);//设置是否显示线程信息,默认false
YxfLog.setDefaultLogLevel(YxfLog.VERBOSE);//设置打印等级,VERBOSE,Debug,Info,Warn,Error,None,在YxfLog中有定义,默认Verbose,设置为None便会关闭打印
YxfLog.setDefaultMethodCount(2);//设置打印方法,默认2
YxfLog.setDefaultMethodOffset(0);//设置方法偏移值,默认0
YxfLog.setDefaultTAGLength(20);//设置子TAG的长度,默认20
}
//
YxfLog.d("It is a main log message");//带框的详细Log
YxfLog.sw("It is a simple warming");//原生Log(simple log)
打印效果如下
//
YxfLog.SubLog log = YxfLog.builder("SubTAG")
.setMethodCount(3)
.setLogLevel(YxfLog.VERBOSE)
.setMethodOffset(0)
.setShowThreadInfo(true)
.create();//创建子Log对象
log.d("It is a sub message");//带框的详细Log
log.se("It is a simple error message of sub log");//原生Log(simple log)
打印效果如下
https://github.com/dqh147258/YxfLog
我的Logcat也是很炫的有没有ヽ(°▽、°)ノ
你们的Logcat是不是还是这样的呢
我们再来干一件酷酷的事情吧,把Logcat颜色改成酷酷的( • ̀ω•́ )✧
左上角,点击File–>Settings
然后在左上角的搜索框中输入Logcat
取消Use inherited attributes
选择颜色
放出楼主的颜色设置
Debug – 2695c6
Error – ff231c
Info – abff72
Verbose – ffffff
Warning – ff28fc
应用