我们如何在 light-4j 应用程序的登录.xml中集成访问日志?



我们如何在logback中集成访问日志.xml?有一个类 AccessLogHandler,但它没有实现 MiddlewareHandler,所以我们不能在handlers.yml中注入它。有没有一种简单的方法来记录传入的HTTP请求.log就像spring为tomcat提供的那样?

可以将 AccessLogHandler 放入 handler.yml 中,以通过动态提供的端点更改日志记录级别。你是对的,它不是一个中间件处理程序,而是一个端点处理程序。

如果使用 light-4j 作为整体式应用,则可以使用 AuditHandler 启用审核日志。默认情况下.log它会像 Tomcat 一样将所有请求记录到审计中。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,请参阅文档以将日志重定向到控制台。

  1. 启用指标处理程序以收集访问信息以及有关对 InfluxDB 或 Promethus 的请求/响应的其他详细信息。

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

  1. 使用 Jaeger 或 Skywalk 启用开放跟踪以进行分布式跟踪。

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

最新更新