Журнал всех сетевых взаимодействий Java-приложения

У меня есть чудовищное Java-приложение (клиент малоизвестного сервера приложений GNUEnterprise) и его источник, который я могу скомпилировать обратно после внесения в него некоторых изменений. Приложение интенсивно использует сеть, и мне нужно отслеживать каждый запрос и ответ. Я мог бы использовать сниффер, такой как Wireshark, но приложение работает со своим сервером по SSL, поэтому, не зная секретного ключа SSL-сертификата, любой перехваченный трафик довольно бесполезен.

Что я могу сделать, чтобы каждый запрос и ответ регистрировались из самого приложения? Мне нужно увидеть все отправленные и полученные заголовки. Я не хочу изменять весь код, отвечающий за сетевое взаимодействие. То, что я хочу, это поставить код как

Network.setDefaultLogger(myCustomLoggerInstance);

где-то рядом с началом приложения, а затем вmyCustomLoggerInstance сделать все записи, которые мне нужны.

Также, учитывая, что все сетевые операции выполняются сURLConnectionS, я могу получить ответ заголовки сcon.getHeaderFields() и запросить заголовки сcon.getRequestProperties(), Но почему там нет файлов cookie? Как сбросить отправленные и полученные куки-файлы таким же образом?

РЕДАКТИРОВАТЬ: Я пытаюсь достичь того, чтобы имитировать связь RPC-приложения с его сервером через SSL, скажем, используяcurl, Для этого мне нужно получить подробный журнал сетевого трафика приложения.