Detailed debug logs with Volley

2020-01-29 09:11发布

问题:

In Restkit on iOS there is a verbose debug option. RKLogConfigureByName("*", RKLogLevelTrace);. Does anyone know if there is an equivalent for Volley. Basically I am going straight to the ErrorListener but I get no additional info in LogCat. Both:

VolleyLog.e("Error: ", error.toString());

And:

VolleyLog.e("Error: ", error.getMessage());

Prints:

2.onErrorResponse: Error: 

回答1:

If you want verbose Log from the volley library, you have to use adb

adb -s 42f63b0de7318fe1 shell setprop log.tag.Volley VERBOSE

where "42f63b0de7318fe1" is your device id which you will get by

adb devices

If you want to persist this setting use

adb -s 42f63b0de7318fe1 shell setprop persist.log.tag.Volley VERBOSE

If you have only 1 device you can omit the -s argument

see also How to set ADT system property in eclipse so it always runs

Kill and restart your app to apply the setting.



回答2:

If you like Volley to output debug messages, you can simply set

VolleyLog.DEBUG = true;

then you will see all verbose log of Volley in out adb logcat output.



回答3:

Use

VolleyLog.v("TAG", "Message"); 

for verbose debug option.

And to get other details you will have to try various options available with error object. Do CTRL + SPACE and go on a trial and error tour. :)

For example,

error.networkResponse.statusCode

will give the error code like 404 for page not found.

And, we can also use various Error Classes provided by Volley to check the type of error using

 if(error instanceOf TimeoutError ){
    // you got timed out  
 }

More details here. Have fun and Welcome to Android :)



回答4:

What works for me as of Jan 2015 is

adb -s 0650ac52006b62db shell setprop Volley VERBOSE

"0650ac52006b62db" is the device id that you get with

adb devices

"Volley" is the name of the TAG that Volley has.



回答5:

I found that Volley logging is very limited. I needed to trace entire request/response information, not just request url.

I ended up with Android Studio Profiler (Network).

Good article that briefly describes how to enable it and what it shows https://proandroiddev.com/various-methods-to-debug-http-traffic-in-the-android-application-8685b9183418