Печать параметров запроса в журнале доступа для приложения light-4j? - PullRequest
0 голосов
/ 03 февраля 2020

Мое приложение light-4j использует AuditHandler для печати журналов доступа. По умолчанию используется формат:

{"отметка времени": 1580470146236, "конечная точка": "/ mmt / register@post", "X-Correlation-Id": "123456", "statusCode": 200, "responseTime": 70}

Но клиент обращается к API с параметрами запроса: / mmt / register? id = 2

Как настроить журнал доступа таким образом, чтобы это печатает параметр запроса также в журнале доступа? { "Метка времени": 1580470146236, "конечной точки": "/ MMT / register@post?id=2", "X-Корреляция-Id": "123456", "StatusCode": 200, "ResponseTime": 70}

Моя текущая настройка входа в систему:

<appender name="access-log" class="ch.qos.logback.core.rolling.RollingFileAppender">
        <File>/opt/logs/Register/access.json</File>
        <append>true</append>
        <rollingPolicy class="ch.qos.logback.core.rolling.TimeBasedRollingPolicy">
            <fileNamePattern>/opt/logs/Register/access.%d{yyyy-MM-dd}.%i.json
            </fileNamePattern>
            <timeBasedFileNamingAndTriggeringPolicy
                    class="ch.qos.logback.core.rolling.SizeAndTimeBasedFNATP">
                <!-- or whenever the file size reaches 1GB -->
                <maxFileSize>1GB</maxFileSize>
            </timeBasedFileNamingAndTriggeringPolicy>
            <MaxHistory>50</MaxHistory>
        </rollingPolicy>
        <encoder>
            <Pattern>%m%n</Pattern>
        </encoder>
    </appender>

1 Ответ

0 голосов
/ 03 февраля 2020

По умолчанию AuditHandler регистрирует только конечную точку, которая является комбинацией пути и метода. Параметр запроса не является его частью. Для регистрации параметров запроса есть два варианта.

  1. Настройте AuditHandler в репозитории light-4j и замените его на настроенный в файле handler.yml, если вы хотите зарегистрировать параметр запроса в рабочей среде.

  2. Если вам просто нужно зарегистрировать параметр запроса в среде разработчика, вы можете подключить DumpHandler. Он в основном выводит все данные по запросу и ответу, включая заголовки, параметры запроса, параметры пути, файлы cookie и тело запроса. Однако это значительно замедляет работу системы и не рекомендуется включать ее в производство. Взгляните на файл handler.yml, чтобы раскомментировать обработчик и раскомментировать псевдоним в цепочке по умолчанию.

...