【发布时间】:2016-01-02 14:40:33
【问题描述】:
我浏览了整个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 服务器内置日志记录,对吗?
【问题讨论】:
-
你有没有找到合适的解决方案?
标签: java jetty spark-java