我浏览了整个Spark 文档,但没有看到任何关于日志记录的内容。我知道 Spark 使用Jetty Web 服务器的嵌入式版本,但似乎没有办法在不实际进入和更改 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 框架(在 Github 上有超过 3,000 颗星)会为其 Web 服务器内置日志记录,对吗?