У меня есть фильтр LogginFilter, зарегистрированный для ResourceConfig.jersey 2 logging и gzip
// Enable logging of requests
registerInstances(new LoggingFilter(java.util.logging.Logger.getLogger(this.getClass().getName()),
true));
У меня также включен фильтр GZIPEncoding, поэтому ответ будет сжат для клиентов, которые его поддерживают.
// Encode gzip responses if request header supports it
EncodingFilter.enableFor(this, GZipEncoder.class);
Но проблема в том, что этот фильтр регистрации выводит сжатый объект ответа, т.е. после сжатия и не раньше, так что вывод выглядит так, что делает его довольно бесполезным и невозможно увидеть, что возвращается.
INFO: 78 * Server responded with a response on thread http-bio-8443-exec-5 78 < 200 78 < Content-Type: application/json ^_^@^@^@^@^@^@^@
я могу отключить GZIPEncoder и ответ записывается несжатый но объект ответа также передается в несжатом ...
Кто-нибудь есть предложение, как избежать этой проблемы и сделать возможным для поддержки поддержки GZIP на стороне сервера, в то же время отлаживая данные ответа простым текстом и не сжимая.
Я был бы благодарен за помощь.
Благодаря уважением
Привет Крис, я видел это, когда глядя на LoggingFilter Javadoc, но это не моя проблема, по умолчанию 8k достаточно, по крайней мере показать вам первые несколько строк из сущности и обрезает все остальное, и в моем это мусор полностью, также при отключении GZIPEncoder весь отклик принтеров, поэтому проблема связана с кодировщиком. Если у кого-то нет решения для меня, мне нужно будет создать копию LoggingFilter и немного изменить его, чтобы проверить заголовок перед печатью, и если содержимое gzip/deflate распаковывает поток перед печатью. – okram123