【凯子哥带你学Android】Android专用Log开源项目——KLog

在Android开发和调试的过程中,Log的使用是非常频繁的,一个好的Log工具可以帮你节省很多时间,所以凯子哥抽空写了个这个开源项目KLog,希望可以帮助大家提高开发效率,本开源库的灵感来自于Logger

  • KLog的特点
  • 运行演示
  • 使用详解
    • KLogd
    • KLogdString
    • KLogdTagString
    • KLogjsonString
    • KLogjsonTagString
    • 注意事项
  • 使用JCenter引用
  • 为什么叫KLog
  • 如何设置Log的颜色
  • 项目地址

KLog的特点

  • 支持显示行号
  • 支持显示Log所在函数名称
  • 支持无Tag打印
  • 支持点击函数名称,跳转至执行文件位置
  • 支持JSON字符串解析打印
  • 依赖库非常小,核心代码200行,只有4K

运行演示

使用详解

下面以KLog.d()为例,下面的用法同样适用于

  • KLog.v()
  • KLog.d()
  • KLog.i()
  • KLog.w()
  • KLog.e()
  • KLog.a()

KLog.d()

使用无参数的方法,会简单的打印”execute”,默认Tag是当前类的名称

KLog.d(String)

使用这个方法,可以正常打印,默认Tag是当前类的名称

KLog.d(Tag,String)

这个方法和我们最常用的一样

KLog.json(String)

使用这个方法可以打印JSON格式的字符串,Tag默认为当前类的名称

KLog.json(Tag,String)

和上面的一样,只不过Tag自己指定

注意事项

KLog的打印功能是默认开启的,请在正式版本中将KLog的打印功能关闭。

推荐使用下面的方式管理KLog的打印开关。

在BuildConfig中添加自定义字段。

public final class BuildConfig {
  public static final boolean LOG_DEBUG = true;
}

在build.gradle中配置LOG_DEBUG字段在debug版本和release版本的属性值。

android {

    buildTypes {
        debug {
            buildConfigField "boolean", "LOG_DEBUG", "true"
        }

        release {
            buildConfigField "boolean", "LOG_DEBUG", "false"
        }
    }
}

在Application中初始化

public class KLogApplication extends Application {

    @Override
    public void onCreate() {
        super.onCreate();
        KLog.init(BuildConfig.LOG_DEBUG);
    }
}

使用JCenter引用

dependencies {
    compile ‘com.github.zhaokaiqiang.klog:library:0.0.1‘
}

为什么叫KLog?

“K”和”L”最近,在键盘上点击“KL”就可以直接调用这个类的方法,进一步提高效率。

“K”也是”凯”的首字母 ^_^。

如何设置Log的颜色

如下,需要“Save as”保存主题,然后取消“use inherited attributes”,即可设置自己想要的颜色

项目地址

请点击这里,欢迎star和follow,以及提交issue和pull request。



尊重原创,转载请注明:From 凯子哥(http://blog.csdn.net/zhaokaiqiang1992) 侵权必究!

关注我的微博,可以获得更多精彩内容

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-26 15:42:59

【凯子哥带你学Android】Android专用Log开源项目——KLog的相关文章

【凯子哥带你学Android】Andriod性能优化之列表卡顿——以“简书”APP为例

这几天闲得无聊,就打开手机上的开发者模式里面的"GPU过度绘制"功能,看看别家的App做的咋样,然后很偶然的打开了"简书",然后就被它的过度绘制惊呆了,于是写了这篇性能分析的文章,从一个只有APK文件的角度,说下如何寻找布局中可能存在的性能问题,以及解决方案.本文章以简书Android最新版本1.9.1进行分析. GPU过度绘制 Hierarchy View SysTrace TraceView 总结 分析资源下载 GPU过度绘制 首先打开下面两个功能开关 开发者模

【转载】【凯子哥带你学Framework】Activity启动过程全解析

It's right time to learn Android's Framework ! 前言 一个App是怎么启动起来的? App的程序入口到底是哪里? Launcher到底是什么神奇的东西? 听说还有个AMS的东西,它是做什么的? Binder是什么?他是如何进行IPC通信的? Activity生命周期到底是什么时候调用的?被谁调用的? 等等... 你是不是还有很多类似的疑问一直没有解决?没关系,这篇文章将结合源码以及大量的优秀文章,站在巨人的肩膀上,更加通俗的来试着解释一些问题.但是毕

【凯子哥带你学Framework】Activity启动过程全解析

It's right time to learn Android's Framework ! 前言 学习目标 写作方式 主要对象功能介绍 主要流程介绍 zygote是什么有什么作用 SystemServer是什么有什么作用它与zygote的关系是什么 ActivityManagerService是什么什么时候初始化的有什么作用 Launcher是什么什么时候启动的 Instrumentation是什么和ActivityThread是什么关系 如何理解AMS和ActivityThread之间的Bi

【凯子哥带你学Framework】Activity界面显示全解析

前几天凯子哥写的Framework层的解析文章<Activity启动过程全解析>,反响还不错,这说明“写让大家都能看懂的Framework解析文章”的思想是基本正确的. 我个人觉得,深入分析的文章必不可少,但是对于更多的Android开发者——即只想做应用层开发,不想了解底层实现细节——来说,“整体上把握,重要环节深入“是更好的学习方式.因为这样既可以有完整的知识体系,又不会在浩瀚的源码世界里迷失兴趣和方向. 所以呢,今天凯子哥又带来一篇文章,接着上一篇的结尾,重点介绍Activity开启之后

【转载】【凯子哥带你学Framework】Activity界面显示全解析(下)

如何验证上一个问题 首先,说明一下运行条件 //主题 name="AppTheme" parent="@android:style/Theme.Holo.Light.NoActionBar" //编译版本 android { compileSdkVersion 19 buildToolsVersion '19.1.0' defaultConfig { applicationId "com.socks.uitestapp" minSdkVersio

【凯子哥带你夯实应用层】滚来滚去,滚来滚去...Scroller相关类使用大揭秘!!!

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 话接上文,在前一篇文章里面,咱们一起分析了"知乎"的回答详情页的需求,然后顺便用代码实现了下,忘了的可以再去看看[凯子哥带你夯实应用层]都说"知乎"逼格高,我们来实现"知乎"回答详情页动画效果 .其实在很多的界面效果中,这种"滚动"的效果能带来很多的惊喜,各种效果也很有搞头,说不定什么时候,Boss看着哪个界面好看,就让你去仿个过来,你

【凯子哥带你夯实应用层】都说“知乎”逼格高,我们来实现“知乎”回答详情页动画效果

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 2014已经远去,2015年的目标很简单,就是继续熟悉Android的上层API,虽然偶尔会为了某个问题去研究下FrameWork的代码,但是对于我们这种新手来说,只有对上层的API用的熟练了,才能更好的往下研究原理.所以,今年的任务就是继续学习和研究Android的上层API的使用,顺便写一篇毕业论文,然后毕个业. OK,从这篇开始,咱们就开始[凯子哥带你夯实应用层]系列,如果你有想要实现的界面效果,或

【凯子哥带你夯实应用层】还在用XListView?试试更漂亮的AutoLoadListView吧!

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 关于上拉刷新和下拉加载,已经有不少的解决方案了,XListView和PullToRefresh应该是被广为熟知的开源项目,项目很棒,可以解决我们的需求.但是,今天咱们用一种更简单的方式,来实现上拉刷新和下拉加载功能,我叫它AutoLoadListView~ 先来一张效果图. 刷新效果使用19版本之后的v4兼容包的SwipeRefreshLayout实现,效果很漂亮,而自动加载下一页的跳动效果,则是使用了另

【凯子哥带你夯实应用层】新手必备的常用代码片段整理(一)

转载请注明出处:http://blog.csdn.net/zhaokaiqiang1992 以下内容来自多个开源项目的整理和自己的项目积累 拨打电话 跳转至拨号界面 发送短信 唤醒屏幕并解锁 判断当前App处于前台还是后台状态 判断当前手机是否处于锁屏睡眠状态 判断当前是否有网络连接 判断当前是否是WIFI连接状态 安装APK 判断当前设备是否为手机 获取当前设备宽高单位px 获取当前设备的IMEI需要与上面的isPhone一起使用 获取当前设备的MAC地址 获取当前程序的版本号 拨打电话 pu