Есть ли способ включить простую регистрацию HTTP-запросов веб-сервера в Spark?

Я просмотрел всю документацию Spark, но ничего не нашел о ведении журнала. Я знаю, что Spark использует встроенную версию веб-сервера Jetty. , но похоже, что не может быть способа включить ведение журнала Jetty без фактического входа и изменения кода платформы Spark.

Я надеялся, что все 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());
});

Но кажется, что эта функциональность должна быть встроена в эту структуру, и я просто не вижу ее. Я полагаю, что относительно популярный веб-фреймворк (с более чем 3000 звезд на Github) будет иметь встроенное ведение журнала для его веб-сервер, верно?


person Matt Vukas    schedule 05.10.2015    source источник
comment
Вы когда-нибудь получали подходящее решение?   -  person thebiggestlebowski    schedule 24.01.2016


Ответы (2)


Я понятия не имею, что такое искра, но если Jetty не слишком стар, вы должны иметь возможность предоставить привязку slf4j (и, возможно, реализацию ведения журнала, если не используете Simple), например Simple SLF4J. (См. http://www.slf4j.org/manual.html)

Если вы используете простую привязку SLF4J, вы можете настроить ее (включая уровень журнала или файл журнала) через системные свойства JVM, как описано в Javadoc: http://www.slf4j.org/api/org/slf4j/impl/SimpleLogger.html

person Stepan Vavra    schedule 05.10.2015
comment
Спасибо, но эта вики-страница предназначена для одноименного, но совершенно другого проекта. Вот ссылка на платформу Spark, о которой я говорю: github.com/perwendel/spark - person Matt Vukas; 05.10.2015

Старый вопрос, но для всех, кто приходит сюда: просто определите регистратор в своем классе приложения следующим образом:

private static final Logger LOG = LoggerFactory.getLogger(YourCurrent.class);

теперь вы можете регистрировать свои собственные сообщения с помощью адаптера регистрации искры.

LOG.error("missing whatever");
person code_eater    schedule 22.04.2016