java logging jooq

java - ¿Cómo deshabilitar el mensaje de auto-anuncio de JooQ en 3.4+?



logging (4)

En caso de que esté utilizando org.slf4j.Logger para el registro, en sus resources/logback.xml puede agregar algo así.

<logger name="org.jooq" level="warn" additivity="false"> <appender-ref ref="STDOUT" /> </logger>

Soy un gran fan de JooQ, pero desafortunadamente desde la actualización a 3.3, imprime un mensaje muy molesto en la consola cada vez que sale mi código:

Feb 02, 2015 7:28:06 AM org.jooq.tools.JooqLogger info INFO: @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ <snip> @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Thank you for using jOOQ 3.5.1

Lamentablemente no puedo eliminar este registro en absoluto.

Tenga en cuenta que no uso slf4j, ni log4j ni ninguna API de registro; Por lo tanto, el único mecanismo que tengo disponible es jul.

He intentado deshabilitarlo completamente usando esto:

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); }); }

Desafortunadamente, no funciona, el mensaje sigue apareciendo.

¿Cómo puedo hacer que este mensaje desaparezca antes de modificar el código, que quiero evitar aquí?


En v3.6 y superiores puedes hacer:

System.getProperties().setProperty("org.jooq.no-logo", "true");


Ese mensaje se encuentra en el archivo fuente org.jooq.impl.DefaultRenderContext y usa el registrador org.jooq.Constants . Aquí está el código fuente relevante:

/* [trial] */ JooqLogger l = JooqLogger.getLogger(Constants.class); String message; message = "Thank you for using jOOQ " + Constants.FULL_VERSION; /* [pro] xx xxxxxxx x xxxxxx xxx xxx xxxxx xxx xx xxx xxxx xxxx x x xxxxxxxxxxxxxxxxxxxxxx x x xxxxx xxxxxxxxx xx [/pro] */

Parece que el mensaje se genera porque está utilizando una versión de prueba. Asumiría que la actualización a la versión pro deshabilitaría el mensaje. ¿Qué otra manera podría ser una mejor manera de demostrar que eres un gran fanático del proyecto?

De lo contrario, si puede vivir con la culpa y la vergüenza , podría deshabilitar los mensajes de información del registrador org.jooq.Constants configurando el nivel en ADVERTENCIA.

Esto se puede hacer agregando lo siguiente a su logging.properties:

#ThanksNoThanks org.jooq.Constants.level=WARNING

O en código Java llamando a los siguientes métodos:

//SorryNotSorry Logger.getLogger("org.jooq.Constants").setLevel(Level.WARNING);

Asegúrese de cumplir con su Acuerdo de Licencia y Mantenimiento jOOQ:

jOOQ License and Maintenance Agreement: * ----------------------------------------------------------------------------- * Data Geekery grants the Customer the non-exclusive, timely limited and * non-transferable license to install and use the Software under the terms of * the jOOQ License and Maintenance Agreement. * * This library is distributed with a LIMITED WARRANTY. See the jOOQ License * and Maintenance Agreement for more details: http://www.jooq.org/licensing */