我瀏覽了整個Spark documentation,但沒有看到有關記錄的任何信息。我知道Spark使用Jetty web server的嵌入式版本,但似乎可能沒有辦法啓用Jetty日誌記錄,而無需實際進入並更改Spark框架代碼。有什麼辦法可以在Spark上啓用簡單的Web服務器HTTP請求日誌記錄?
我希望能夠將所有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 [email protected]{HTTP/1.1}{0.0.0.0:4567}
我目前最好的辦法是推出自己的日誌記錄系統中的before
過濾器。例如:
before((req, res) -> {
System.out.println("Request from " + req.ip() + " received - " + req.userAgent());
});
但似乎這一功能應該被內置到這個框架中,而我只是沒有看到它。我想,一個比較流行的Web框架(有超過3000名星on Github)將有日誌記錄的內置了它的Web服務器,對不對?
你有沒有得到一個合適的解決方案? – thebiggestlebowski