gpt4 book ai didi

java - 有什么方法可以在 Spark 上启用简单的 Web 服务器 HTTP 请求日志记录吗?

转载 作者:行者123 更新时间:2023-12-02 09:23:11 24 4
gpt4 key购买 nike

我已经浏览了整个 Spark documentation ,但没有看到任何有关日志记录的内容。我知道 Spark 使用 Jetty web server 的嵌入式版本,但似乎没有办法在不实际进入并更改 Spark 框架代码的情况下启用 Jetty 日志记录。

我希望将对服务器的所有 HTTP 请求都记录在 Common Log Format 中。现在,当我启动服务器时,无论我向它发出多少请求,我都会看到此消息,然后是沉默:

[Thread-1] INFO spark.webserver.SparkServer - == Spark has ignited ...
[Thread-1] INFO spark.webserver.SparkServer - >> Listening on 0.0.0.0:4567
[Thread-1] INFO org.eclipse.jetty.server.Server - jetty-9.0.2.v20130417
[Thread-1] INFO org.eclipse.jetty.server.ServerConnector - Started ServerConnector@46f24fce{HTTP/1.1}{0.0.0.0:4567}

我目前最好的想法是在 before 过滤器中滚动我自己的日志系统。例如:

before((req, res) -> {
System.out.println("Request from " + req.ip() + " received - " + req.userAgent());
});

但似乎这个功能应该内置到这个框架中,但我只是没有看到它。我认为一个相对流行的 Web 框架(拥有超过 3,000 颗星 on Github )会为其 Web 服务器内置日志记录,对吗?

最佳答案

我不知道 Spark 是什么,但是如果 Jetty 不太老,您应该能够提供 slf4j 绑定(bind)(如果不使用 Simple 的话,可能还提供日志记录实现),例如 Simple SLF4J。 (参见http://www.slf4j.org/manual.html)

如果您使用简单 SLF4J 绑定(bind),您可以通过 JVM 系统属性配置它(包括日志级别或日志文件),如 Javadoc 中所述:http://www.slf4j.org/api/org/slf4j/impl/SimpleLogger.html

关于java - 有什么方法可以在 Spark 上启用简单的 Web 服务器 HTTP 请求日志记录吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32957103/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com