Как запретить Vertx писать логи автоматически? - PullRequest
0 голосов
/ 04 июня 2018

При запуске моего TCP-сервера с использованием Vertx я получаю следующий вывод:

[2018-06-04 12:15:45] [FINEST ] Net server listening on 0.0.0.0:/0:0:0:0:0:0:0:0:8600
[2018-06-04 12:15:45] [INFO   ] Server is now listening on port :  8600

Я ожидал, что вторая строка, так как я говорю Vertx, чтобы написать это:

    server.listen(res -> {
        if (res.succeeded()) {
            logger.info("Server is now listening on port : {0, number, #}", server.actualPort());
        }
        else {
            logger.error("Server failed to bind");
        }
    });

Первая строка написана самим Vertx.Я немного удивлен, поскольку нигде в документации Vertx я не видел, что это могло бы произойти, и как это предотвратить.

Как я могу заставить Vertx автоматически останавливать запись в журнал?

Заранее спасибо.

1 Ответ

0 голосов
/ 04 июня 2018

Ну, в руководстве говорится, что vert.x по умолчанию использует java.util.logging, часто называемый его псевдонимом JUL.Он настраивается , поэтому в зависимости от вашего варианта использования вы сможете настроить вывод журнала.В качестве альтернативы vert.x может быть проинструктирован использовать внешнюю среду ведения журнала , у каждого из них есть свои преимущества и недостатки.

Документация для JUL на самом деле не самая полезная проза, когда-либо написанная,К счастью, существует множество сторонних сайтов, посвященных этой теме, например, http://tutorials.jenkov.com/java-logging/index.html, но быстрый Google укажет вам и на многих других.

Возобновление:

  • вы будетевам нужно написать файл logging.properties, который отображает вывод, который вы хотите получить, и где (в лог-файлах и / или на консоли)
  • вам нужно будет передать этот файл в ваше приложение vert.x черезсистемное свойство java.util.logging.config.file

Ограничение информации, создаваемой определенными частями приложения, может быть сделано с помощью возможностей фильтрации, представленных в JUL.Так, например, в ваши logging.properties вы можете поместить

java.util.logging.FileHandler.level=INFO

, что ограничит ведение журнала, которое идет в файл журнала, до INFO или выше.Это, как например, уже покончит с журналом vert.x, который вы видите в своем примере.Вы также можете ограничить ведение журнала для каждого пакета, группы пакетов или даже отдельных классов.Хорошая информация об этих возможностях может быть найдена здесь: java.util.logging: как установить уровень с помощью пакета (или префикса) регистратора? .Я думаю, что vert.x использует префикс io.vertx

...