自定义LogUtils

在开发过程中,Log是必不可少的,在代码节点加上调试Log,可以查看调试内容,比如在网络请求前添加请求参数Log,请求完成后,打印请求结果内容的Log等等,Android提供给我们的有Log,在android.util包下;
使用:

Log.d(TAG , "This is Android Debug Log");

输出后对应LogCat中的Debug级别,内容为:This is Android Debug Log,其实Android系统的Log比Java中System.out.print多了一个Log级别的划分,但是这样的调试日志在release的时候是需要关闭的,如果每次调试完都删除Log是一件很烦恼的事情,而且如果需要再次调试的时候再添加进去,这完全是没有必要的,我们可以设置一个变量,在Debug阶段允许Log输出,在Release的时候不允许日志输出就ok了,这是一个基本的演变过程;

下面我讲述一下我希望的LogUtils希望有如下功能:
1、我可以随意在关键节点添加Log,在Release的时候进行关闭,可以使用BuildeConfig.DEBUG这个系统变量进行控制;
2、因为Android系统的Log有2个参数,TAG和msg,我比较懒,不想每次都设置TAG,希望可以获取当前的class文件作为TAG;
3,如果Log比较多,我不好区分每一条,希望加一个区域给它控制起来;
4,扩展功能,可能为了排查故障,我想要将Log输出为文件,方便进行排查;


实现
可以通过Throwable().stackTrace获取当前栈获取调用信息,方便直接通过控制台跳转到Log输出位置,通过Thread.currentThread().name 获取当前线程名称,方便查看当前Log所在的线程;

效果图如下:

NLog效果图.png

代码中使用

        btnClick.setOnClickListener({ NLogUtls.e("This is NLogUtils's log ") })

具体使用方法及源码请参考:https://github.com/NeWolf/LogUtils

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,950评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,466评论 2 59
  • mean to add the formatted="false" attribute?.[ 46% 47325/...
    ProZoom阅读 7,588评论 0 3
  • 本文会不定期更新,推荐watch下项目。如果喜欢请star,如果觉得有纰漏请提交issue,如果你有更好的点子可以...
    天之界线2010阅读 11,970评论 11 29
  • 这个版本的游戏和你的上一版效果应该是一样的,其实有些代码都几乎一样。比较一下两版代码,弄懂其中不同的地方,重点需要...
    KennyP0618阅读 2,656评论 0 0