io.dibog.AwsLogAppender компрессия - PullRequest
0 голосов
/ 11 января 2020

Я пишу приложение 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, текст не распаковывается.

Мой вопрос заключается в том, какая кодировка используется для этого текста и какие инструменты я могу использовать для его декодирования?

...