Android Gradle 学习笔记(三):Gradle 日志
在第一节,我们使用到了gradle -q hello命令行来运行Hello World,并对Hello World进行了简单的分析,了解到 gradle -q hello 的意思是要执行的build.gradle脚本中定义的名为hello的Task,-q参数用于控制gradle输出的日志级别,以及哪些日志可以输出被看到。这节我们讲一些Gradle日志相关的知识。
一、Gradle 日志级别
Gradle 日志级别和平时我们开发Android时的日志级别差不多。但是除了一些通用的级别之外,Gradle还增加了Quite和Lifecycle两个级别,用于标记重要以及进度级别的日志信息。具体如下:
- ERROR:错误信息
- QUITE:重要信息
- WARNING:警告信息
- LIFECYCLE:进度信息
- INFO:一般信息
- Debug:调试信息
如果我们想要显示的日志等级,就可以在task之前使用-首字母即可实现控制。
例如:
- -q 表示输出QUIET及更高级别的日志。
- -i 表示输出INFO及更高级别的日志。
二、Gradle 输出错误堆栈信息
使用Gradle构建的时候,经常会遇到构建失败,这时候我们就需要通过日志去分析和解决。除了我们在上面提到的日志信息之外,Gradle还支持堆栈信息的打印,它能够帮助我们很好的定位和分析问题。
默认情况下,堆栈信息的输出是关闭的,需要我们通过命令行的堆栈信息开关打开它,这样我们在构建失败的时候,能看到输出的堆栈信息,便于分析和解决问题。下面是错误堆栈的开关选项说明:
- 无选项:没有堆栈信息输出
- -s:输出关键性的堆栈信息
- -S:输出全部堆栈信息
一般的,我们推荐使用-s,因为-S的堆栈太长太多了,不方便查询和分析,-s相对精简,能帮助定位和解决大部分问题。
三、使用Gradle自定义日志信息
在编写Gradle脚本时,我们有时候还需要输出一些日志,来验证我们的逻辑是否正确,这时我们可以使用Gradle提供的日志功能。
通常我们使用的时print系列的方法,把日志信息输出到标准的控制台输出流(它被Gradle定为QUIET级别的日志):
println '输出一段日志信息'
除了print系列方法之外,我们也可以使用logger灵活的输出不同级别的日志:
logger.quiet('quiet 日志信息')
logger.error('quiet 日志信息')
......
其中logger是调用的Project的getLogger方法获取的Logger对象的实例。
Android Gradle 学习笔记(三):Gradle 日志的更多相关文章
- Android Studio 学习笔记(三):简单控件及实例
控件.组件.插件概念区分 说到控件,就不得不区分一些概念. 控件(Control):编程中用到的部件 组件(Component):软件的组成部分 插件(plugin): 应用程序中已经预留接口的组件 ...
- Android Fragement学习笔记(三)----PreferenceFragment的使用
相信大家对Perference都比較熟悉了,也就是我们常说的偏好设置,首选项设置,能够保存一些数据,比如我们在上一次使用的时候的一些内容,希望在下一次启动后依旧生效,而不须要再进行配置那么麻烦.一般这 ...
- Android Fragement学习笔记(三)----PreferenceFragment使用
我相信每个人都Perference大家都比较熟悉,这就是我们常说的偏好,首选项设置,一些数据可以保存.例如,一些元件的,我们使用上次.希望下次启动后仍然生效,烦.一般这个时候我们便会使用perfere ...
- Android:日常学习笔记(8)———探究UI开发(5)
Android:日常学习笔记(8)———探究UI开发(5) ListView控件的使用 ListView概述 A view that shows items in a vertically scrol ...
- Android:日常学习笔记(2)——分析第一个Android应用程序
Android:日常学习笔记(2)——分析第一个Android应用程序 Android项目结构 整体目录结构分析 说明: 除了APP目录外,其他目录都是自动生成的.APP目录的下的内容才是我们的工作重 ...
- Android Studio 学习笔记(一)环境搭建、文件目录等相关说明
Android Studio 学习笔记(一)环境搭建.文件目录等相关说明 引入 对APP开发而言,Android和iOS是两大主流开发平台,其中区别在于 Android用java语言,用Android ...
- Android自动化学习笔记:编写MonkeyRunner脚本的几种方式
---------------------------------------------------------------------------------------------------- ...
- Android自动化学习笔记之MonkeyRunner:官方介绍和简单实例
---------------------------------------------------------------------------------------------------- ...
- Android动画学习笔记-Android Animation
Android动画学习笔记-Android Animation 3.0以前,android支持两种动画模式,tween animation,frame animation,在android3.0中 ...
- [Firefly引擎][学习笔记三][已完结]所需模块封装
原地址:http://www.9miao.com/question-15-54671.html 学习笔记一传送门学习笔记二传送门 学习笔记三导读: 笔记三主要就是各个模块的封装了,这里贴 ...
随机推荐
- JS---DOM---为同一个元素绑定多个不同事件指向同一个事件处理函数
为同一个元素绑定多个不同事件指向同一个事件处理函数 1. 用了switch(e.type){} 来修改 2. break <input type="button" value ...
- 利用Azure虚拟机安装Dynamics 365 Customer Engagement之六:安装后端服务器
我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...
- linux 文件管理命令
一,文件查看more,less,head,tail,cat,tac 分屏查看文件内容 more:和man用法一样,但翻屏到尾部自动推出. less:和man用法一样. head:查看文件的前n行.n默 ...
- laravel .env文件的使用
umen 是 laravel 的衍生品,核心功能的使用和 laravel 都是一致的,但配置文件这一方面,lumen 在 laravel 的基础上增加了更简便的配置方式:lumen 采用了 DotEn ...
- Redis入门(四)-Java操作Redis
<Redis入门>系列文章的第四篇,这一节看一下如何用Java版本的redis客户端工具--Jedis来操作redis. Jedis封装了丰富的api来对redis的五种数据类型 stri ...
- Fabric-Ca使用
Fabric-Ca的概念不再解释了,这里只说明使用方法: 前置条件 Go语言1.10+版本 GOPATH环境变量正确设置 已安装libtool和libtdhl-dev包 Ubuntu系统 通过以下命令 ...
- Hyperledger Fabric私有数据
官方文档:点这里 1简介 在同一个通道中,允许某一组织在对同一通道内其他组织保持部分的数据私有.也就是说有一部分被标识为私有的数据只能具有权限的组织查看和操作,而其余组织不具备查看和操作私有数据的权限 ...
- Prometheus学习系列(八)之Prometheus API说明
前言 本文来自Prometheus官网手册 和 Prometheus简介 HTTP API 在Prometheus服务器上的/api/v1下可以访问当前稳定的HTTP API. 将在该端点下添加任何非 ...
- 从0系统学Android--3.5 最常用和最难用的控件---ListView
从0系统学Android-- 3.5 最常用和最难用的控件---ListView 本系列文章目录:更多精品文章分类 本系列持续更新中.... 3.5 最常用和最难用的控件---ListView Lis ...
- 清除Windows系统图标缓存
如果改变程序图标重新编译之后看到的图标并未改变,这可能不windows缓存了之前的图标导致的,需要清除Window的图标缓存来显示正确的图标. 下面是清除Windows系统图标缓存的批处理代码: re ...