在 vertx 3 中配置记录器

Dee*_*wal 6 java logging vert.x

我正在使用带有弹簧靴的 vertx 3.0。现在我正在尝试使用以下配置来配置记录器日志级别:

JVM 参数:

-Dspring.profiles.active=dev 
-Dvertx.logger-delegate-factory-class-name=io.vertx.core.logging.SLF4JLogDelegateFactory 
-Djava.util.logging.config.file=logging.properties
Run Code Online (Sandbox Code Playgroud)

logging.properties:

handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=ERROR
com.sensegrow.level=ERROR
Run Code Online (Sandbox Code Playgroud)

JAVA类:

package com.sensegrow.main;

@SpringBootApplication
public class Application{

    private static Logger logger ;
    public static JsonObject config;
    private static Vertx vertx;

    // Convenience method so you can run it in your IDE
    public static void main(String[] args) throws Exception 
    {
        logger = LoggerFactory.getLogger(Application.class);
        logger.trace("trace");
        logger.debug("debug");
        logger.info("info");
        logger.warn("warning");
        logger.error("error");
        SpringApplication.run(Application.class, args);
    }
}
Run Code Online (Sandbox Code Playgroud)

输出:

16:29:58.073 [                main] INFO  - com.sensegrow.main.Application           - info
16:29:58.076 [                main] WARN  - com.sensegrow.main.Application           - warning
16:29:58.076 [                main] ERROR - com.sensegrow.main.Application           - error
Run Code Online (Sandbox Code Playgroud)

因为包 com.sensegrow 的日志级别是错误的。为什么我会收到信息和警告级别的日志。

小智 2

所以,试试这个:给你的配置文件指定这个名称: vertx-default-jul-logging.properties并将其放入 src/main/resources 中。

输入该内容:

handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level=FINEST

.level=ERROR
com.sensegrow.level=ERROR
Run Code Online (Sandbox Code Playgroud)

运行main()。这会起作用。从那时起,尝试重命名它并将其扩展以满足您的需要。:)

希望这可以帮助。

PS:到目前为止,您不需要任何 jvm 变量。先尝试一下,然后再扩展。如果某些东西不起作用,并且您确切地知道哪个参数,或者重新写一次。:)

耶尔泽,

西蒙

有关 vertx3 中的日志文件名称和日志记录的更多信息,请参阅:Vertx3 日志记录