アプリ内のHttp通信をdumpする方法
1. Javaファイルの編集
dumpを開始したいクラスのonCreateに以下を追記します。
java.util.logging.Logger.getLogger("org.apache.http.wire").setLevel(java.util.logging.Level.FINEST); java.util.logging.Logger.getLogger("org.apache.http.headers").setLevel(java.util.logging.Level.FINEST); System.setProperty("org.apache.commons.logging.Log", "org.apache.commons.logging.impl.SimpleLog"); System.setProperty("org.apache.commons.logging.simplelog.showdatetime", "true"); System.setProperty("org.apache.commons.logging.simplelog.log.httpclient.wire", "debug"); System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http", "debug"); System.setProperty("org.apache.commons.logging.simplelog.log.org.apache.http.headers", "debug");
アプリ起動時に自動的にdump開始したい場合は、以下ご参考に。
アプリケーション開始時・終了時の処理を定義する
2. コマンド操作
アプリ実行前にコマンドで以下を実行します。
adb shell setprop log.tag.org.apache.http VERBOSE adb shell setprop log.tag.org.apache.http.wire VERBOSE adb shell setprop log.tag.org.apache.http.headers VERBOSE
これでアプリを実行すればLogCatに通信内容がdumpされます。
すごい行数になるので"org.apache.http.wire"等でフィルターかけた方が良いです。