我们如何在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 作为微服务平台,则上述方法不起作用。以下三个选项可以单独使用,也可以组合使用。
- 将日志重定向到 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,请参阅文档以将日志重定向到控制台。
- 启用指标处理程序以收集访问信息以及有关对 InfluxDB 或 Promethus 的请求/响应的其他详细信息。
https://doc.networknt.com/concern/metrics/https://doc.networknt.com/concern/prometheus/
- 使用 Jaeger 或 Skywalk 启用开放跟踪以进行分布式跟踪。
https://doc.networknt.com/tutorial/tracing/