使用 Vertx 启动我的TCP服务器时,我有以下输出:
[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自动停止记录?
提前致谢。
答案 0 :(得分:1)
嗯,the manual表示vert.x默认使用java.util.logging,通常由其昵称JUL引用。它是configurable所以根据您的使用情况,您应该能够调整日志输出。或者可以指示vert.x使用an external logging framework,它们各有各的优缺点。
JUL的文档实际上并不是最有用的散文,幸运的是有很多第三方网站覆盖了这个主题,比如http://tutorials.jenkov.com/java-logging/index.html,但快速的谷歌也会指向很多其他网站。
恢复:
java.util.logging.config.file
可以使用JUL中提供的过滤功能来限制某些应用程序部件生成的信息。因此,例如,在您的logging.properties中,您可以放置
java.util.logging.FileHandler.level=INFO
将限制日志文件到INFO或更高版本的日志记录。例如,这已经取消了您在示例中看到的vert.x日志。您还可以限制每个包,一组包甚至单个类的日志记录。有关这些可能性的精彩文章可以在这里找到:java.util.logging: how to set level by logger package (or prefix)?。我认为vert.x使用前缀io.vertx