Как интегрировать журнал доступа в logback. xml для приложения light-4j? - PullRequest
0 голосов
/ 08 января 2020

Как интегрировать журналы доступа в logback. xml? Для этого есть класс AccessLogHandler, но он не реализует MiddlewareHandler, поэтому мы не можем внедрить его в handlers.yml. Есть ли простой способ регистрировать входящие HTTP-запросы в access.log, как это предусмотрено в Spring для tomcat?

1 Ответ

0 голосов
/ 08 января 2020

AccessLogHandler может быть помещен в handler.yml, чтобы изменить уровень регистрации через конечные точки, предоставленные на лету. Вы правы, что это не обработчик промежуточного программного обеспечения, а обработчик конечной точки.

Если вы используете light-4j в качестве монолитного c приложения, вы можете включить журнал аудита с помощью AuditHandler. По умолчанию он будет регистрировать все запросы, такие как Tomcat, в Audit.log. Конфигурация в logback. xml может быть найдена в https://github.com/networknt/light-example-4j/blob/release/rest/openapi/petstore/src/main/resources/logback.xml#L44 в качестве примера.

Если вы используете light-4j в качестве платформы для микроуслуг, то вышеуказанный подход не работает. Следующие три параметра можно использовать по отдельности или в сочетании.

  1. Перенаправить журналы в ElasticSearch и получить к ним доступ через kibana. Если вы используете docker -compose / swarm, вы можете настроить его в docker -compose.yml следующим образом:

https://github.com/networknt/light-config-test/blob/master/light-oauth2/test-cloud/docker-compose.yml#L25

Если вы используете Kubernetes или Openshift, обратитесь к документу, чтобы перенаправить журналы на консоль.

Включить обработчик Metri c для сбора информации о доступе вместе с другими сведениями о запросе / ответе к InfluxDB или Promethus.

https://doc.networknt.com/concern/metrics/ https://doc.networknt.com/concern/prometheus/

Включить Open Tracing с Jaeger или Skywalking для распределенной трассировки.

https://doc.networknt.com/tutorial/tracing/

...