2012-03-29 14 views
5

Tengo un Hsqldb integrado en mi proyecto. Pero vuelca un montón de información sobre la salida cuando se trabaja, y yo actualmente no es necesario que la información:¿Hay alguna manera de silenciar el registro hsqldb?

Mar 29, 2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent 
INFO: Checkpoint start 
Mar 29, 2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent 
INFO: checkpointClose start 
Mar 29, 2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent 
INFO: checkpointClose end 
Mar 29, 2012 10:18:11 PM org.hsqldb.persist.Logger logInfoEvent 
INFO: Checkpoint end 

¿Hay una manera de silenciar que la producción?

+0

posible duplicado de [hsqldb echar a perder con mis registros server's] (http : //stackoverflow.com/questions/5969321/hsqldb-messing-up-with-my-servers-logs) – fglez

Respuesta

4

Desafortunadamente, no lo creo. tenemos el mismo problema en nuestro proyecto. Creo que revisé la fuente en un momento determinado y concluí que hsqldb no proporciona una forma de influir en este registro.

Estoy corregido (como @fredt mencionó en su comentario a la otra respuesta), puede controlar este registro a través de los niveles de registro jdk. establecer el nivel de registro "hsqldb.db" en algo como WARNING suprimirá esta salida. puede hacerlo utilizando el archivo logging.properties o programáticamente (después de cargar hsqldb) usando algo como Logger.getLogger("hsqldb.db").setLevel(Level.WARNING) (suponiendo que esté utilizando el registro de Java util).

Como se señala en el comentario siguiente, hsqldb también restablece la configuración de registro de Java. Si lo está incrustando en otra aplicación, es posible que desee deshabilitar esa funcionalidad estableciendo la propiedad del sistema "hsqldb.reconfig_logging" en "falso" (antes de que se cargue el hsqldb).

+0

Intenté su modificación sugerida, pero los mensajes INFO continuaron apareciendo después de cierto punto en mi aplicación hasta que también agregué 'System .setProperty ("hsqldb.reconfig_logging", "false"); 'al comienzo de mi código. (Encontré esa propiedad del sistema en la documentación de HSQLDB a través del enlace en el comentario de Fred a la otra respuesta).) –

+1

@GordThompson heh, sí, hsqldb también intenta reclamar la propiedad sobre la configuración de registro de Java, por lo que debe deshabilitarla. actualicé mi respuesta. – jtahlborn

0

Para cualquiera que busque una solución de línea de comando.

Comience su aplicación/servidor con una propiedad que apunta a la ubicación del inmueble dedicados Archivo:

-Djava.util.logging.config.file =/lugar/de/los/hsqldblog.properties" .

que contiene la siguiente línea para cambiar el registro de Java para hsqldb

# Change hsqldb logging level 
org.hsqldb.persist = WARNING 

nota al margen, se puede elegir entre los siguientes niveles:

severa advertencia INFO CONFIG FINO FINO FINO

More info on Java Logging

0

Para los usuarios SLF4J + logback:

Añadir log4j-over-slf4j como una dependencia (no se olvide de excluir originales log4j dependencia de si tienes algún). Si utiliza Gradle, añadir algo como esto en su build.gradle:

runtime group: 'org.slf4j', name: 'log4j-over-slf4j', version: '1.7.25' 

A continuación, añadir esto a su logback.xml:

<logger name="hsqldb.db" level="warn"/> 
Cuestiones relacionadas