Я пишу приложение Spring Boot, которое использует Logback. Целью этого приложения является отправка журналов на AWS CloudWatch. Вот как выглядит мой logback. xml.
<configuration>
<appender name="cloud-watch" class="io.github.dibog.AwsLogAppender">
<awsConfig>
<credentials>
<accessKeyId></accessKeyId>
<secretAccessKey></secretAccessKey>
</credentials>
<region></region>
</awsConfig>
<createLogGroup>true</createLogGroup>
<groupName></groupName>
<streamName></streamName>
<layout class="ch.qos.logback.contrib.json.classic.JsonLayout">
<jsonFormatter class="ch.qos.logback.contrib.jackson.JacksonJsonFormatter" />
<timestampFormat>yyyy-MM-dd' 'HH:mm:ss.SSS</timestampFormat>
</layout>
</appender>
<root level="info">
<appender-ref ref="cloud-watch" />
</root>
</configuration>
Всякий раз, когда я отправляю журнал, он выглядит примерно так:
{
"awslogs": {
"data": "H4sIAAAAAAAAAJ1QXWvjMBD8K0JPV0iCJX9E8pu5OKXt9RJwDg7qEBRb54jalpGU9krIf++qdWn6Wttg7czO7oxOuJPWikZuXgaJU7zINtnuPi+K7DrHE6yfe2kAJoRyQsI4iSkDuNXNtdHHARgnrXtHCmek6EZoLCbYHve2MmpwSvdL1TppLE4fsDOqaWD09k2aP8neefyEVQ0TwpjwhAZRzBMyZ8yvhTfgccgIo1EYhJzPExbQhDPCCY8JYyxkEexzCgI50YE3Es8Z6ELOIkonH0Fh/Kk0ZY9Q+dlcYpRCTQMaTAMyDWJESEqTNGQz0JZ48qFo5ZNsx+6b38vVBeUOELkeuU6o/lKmfdqRq3Q3q6pqJgY1ywaVDUOrKuEv6EIxuh0lhRPGqb5BX/sRfIu8uNus1tP1LY9W+T16Vu6A1jcLRBJOKPrxMy3h+WPh4v0h+5X/9f+FtI9OD/4IXna1sIe9FqbegSsPwsJGuje6FdZKi6z3IGu0f0F+CFI9+sbsq4uMle6d/O/GjLX8J44tVJ4+4/P2/ArUwvnXnQIAAA=="
}
}
Строковое значение для ключа «data» варьируется от один журнал к другому. Я предположил, что строковое значение для ключа «data» - это сжатый текст для журнала. Фактически, когда я размещаю этот текст на веб-сайте с именем http://www.txtwizard.net/compression, текст будет успешно распакован. Однако всякий раз, когда я использую java .util.zip.GZIPInputStream или org. apache .commons.compress.compressors.CompressorInputStream, текст не распаковывается.
Мой вопрос заключается в том, какая кодировка используется для этого текста и какие инструменты я могу использовать для его декодирования?