logging - 顶点日志记录 : access to request context

标签 logging vert.x

这看起来是常见问题:我们希望使用一些自定义消息来记录与路由上下文相关的数据。对于每线程请求应用程序,我们使用线程本地 MDC。但是 Vert.x 应用程序有类似的解决方案吗? 可能是一些在事件循环内工作并管理所有请求的 Vertx 记录器。

谢谢。

最佳答案

假设这是您正在使用的 Vert.x-Web...您可以采取的一种方法是添加 Handler<RoutingContext>Router并将其配置为针对每个请求运行。在 Java 中,可能看起来像这样:

// the Handler with your custom logging
final Handler<RoutingContext> loggingHandler = routingContext -> {
    final HttpServerRequest request = routingContext.request();

    System.out.println(request.getParam("foo"));

    routingContext.next();
};

// use Router.route() to configure a handler that runs on every
// request regardless of method or path
final Router router = Router.router(Vertx.vertx());
router.route().handler(loggingHandler);

希望有帮助!

关于logging - 顶点日志记录 : access to request context,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51106146/

相关文章:

logging - NTEventLogAppender 的源示例?

javascript - 获取帖子请求的正文 vert.x javascript verticle

vert.x - 在 Vertx webclient 中如何记录 http 请求和响应

tomcat - 如何配置 Tomcat 以通过系统日志记录所有内容?

Hadoop 日志文件丢失

java - vert.x 的logging.properties 中的含义是什么?

Java 非阻塞 TLS PSK

opengl - GLSDK 打破了 easylogging++

javascript - SockJS 消息的最大大小是多少?

java - Vertx.io 调度任务