Search code examples
javaloggingjooq

How to disable JooQ's self-ad message in 3.4+?


I'm a big fan of JooQ, but unfortunately since upgrading from 3.3 it prints a very annoying message to the console each time before my code exits:

Feb 02, 2015 7:28:06 AM org.jooq.tools.JooqLogger info
INFO: 

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
<snip>
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@  Thank you for using jOOQ 3.5.1

Unfortunately I cannot manage to remove this log at all.

Note that I don't use slf4j, nor log4j nor any log API; therefore the only mechanism I have available is j.u.l.

I have tried to disable it completely using this:

static {
    Stream.of(Logger.getAnonymousLogger(), Logger.getGlobal(),
        Logger.getLogger("org.jooq.tools.JooqLogger")
    ).forEach(l -> {
        l.setLevel(Level.OFF);
        final Handler[] handlers = l.getHandlers();
        Arrays.stream(handlers).forEach(l::removeHandler);
    });
}

Unfortunatley, it doesn't work, the message still appears.

How do I make this message disappear short of modifying the code, which I want to avoid here?


Solution

  • This seems to work for me:

    static {
        LogManager.getLogManager().reset();
    }
    

    This is also indicated as a solution a couple of times in this Stack Overflow question.

    Note that version 3.6+ will also ship with a system property that can be used to deactivate displaying this logo:

    -Dorg.jooq.no-logo=true