# 目录 [TOC] 一个优秀的lib,一定有它人性化的调试模式,NoHttp也不例外,为了方便开发者查看请求过程和请求日志,NoHttp用一个Logger类来负责Log的打印。 如果你请求失败了,请求发生异常了,在吐槽作者之前,请打开调试模式看看NoHttp打印出的优雅的Log。 # 打开调试模式、设置TAG NoHttp的调试模式,主要是提供一个合理的日志来供开发者查看和排查错误,默认的Log的TAG是“NoHttp”字符串。 NoHttp的调试模式的控制[NoHttp初始化与配置](http://doc.nohttp.net/222342)一样,最好在`Application#onCreate()`中设置。 ```java package com.yanzhenjie.simple; public class MyApplication extends android.app.Application { @Override public void onCreate() { super.onCreate(); Logger.setDebug(true); // 开启NoHttp调试模式。 Logger.setTag("NoHttpSample"); // 设置NoHttp打印Log的TAG。 ... } } ``` # Log的预览说明 这里一个成功请求的例子: ![调试模式预览](https://box.kancloud.cn/594086b4304a7afc29fae01caed1ead8_1542x579.png) 上方的Log打印了一个Request完整的声明周期,NoHttp的一个请求的Log有以下特点: 1. 开头和结尾打开了`---Request Start---`和 `---Request Finish---`分割请求,完整的生命周期的内容都会打印在开头和结尾的里面。 2. 在`---Request Start---`之后会打印请求的`url`,如果是`GET`、`HEAD`请求方式,通过`request.add(key, value)`添加的参数将会在这里完整的以`url?key=value&key=value`的形式打印。 3. 接着会打印请求方法、请求头,如果你要查看Cookie是否发送,你添加的自定Head是否被发送,你应该查看这里。 4. 然后我们注意到`--Response start--`和 `--Response end--`,这一段Log会在服务器响应后被打印,将会把服务器的响应头都打印出来,包括服务器发送过来的`Set-Cookie`、响应码等。