tutorial org logger example ejemplo java logging log4j

java - example - org apache log4j logger tutorial



Desactivar Log4J Output en Java (6)

Además, también es posible desactivar el inicio de sesión mediante programación:

Logger.getRootLogger().setLevel(Level.OFF);

O

Logger.getRootLogger().removeAllAppenders(); Logger.getRootLogger().addAppender(new NullAppender());

¿Cómo se puede apagar rápidamente todos los resultados de Log4J usando un archivo log4j.properties ?


Ajuste el nivel a OFF (en lugar de DEBUG, INFO, ....)


Cambia el nivel a lo que quieres. (Estoy usando Log4j2, versión 2.6.2). Esta es la forma más simple, cambie a <Root level="off">

Por ejemplo: archivo log4j2.xml
Entorno de desarrollo

<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <Console name="SimpleConsole" target="SYSTEM_OUT"> <PatternLayout pattern="%msg%n"/> </Console> </Appenders> <Loggers> <Root level="error"> <AppenderRef ref="Console"/> </Root> </Loggers> <Loggers> <Root level="info"> <AppenderRef ref="SimpleConsole"/> </Root> </Loggers> </Configuration>

Entorno de producción

<?xml version="1.0" encoding="UTF-8"?> <Configuration status="WARN"> <Appenders> <Console name="Console" target="SYSTEM_OUT"> <PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> </Console> <Console name="SimpleConsole" target="SYSTEM_OUT"> <PatternLayout pattern="%msg%n"/> </Console> </Appenders> <Loggers> <Root level="off"> <AppenderRef ref="Console"/> </Root> </Loggers> <Loggers> <Root level="off"> <AppenderRef ref="SimpleConsole"/> </Root> </Loggers> </Configuration>


Puede cambiar el nivel a OFF, lo que debería eliminar todos los registros. De acuerdo con el sitio web log4j, los niveles válidos en orden de importancia son RASTREO, DEPURACIÓN, INFORMACIÓN, ADVERTENCIA, ERROR, FATAL. Hay un nivel indocumentado llamado OFF que es un nivel más alto que FATAL, y desactiva todo el registro.

También puede crear un registrador de raíz adicional para registrar nada (nivel DESACTIVADO), para que pueda cambiar los registradores de raíz fácilmente. Aquí hay una publicación para que comiences con eso.

También es posible que desee leer las preguntas frecuentes de Log4J, porque creo que apagar todos los registros puede no ser de ayuda. Ciertamente, no acelerará mucho su aplicación, ya que el código de registro se ejecuta de todos modos, hasta el punto donde log4j decide que no necesita registrar esta entrada.


Si desea desactivar el registro mediante programación, utilice

List<Logger> loggers = Collections.<Logger>list(LogManager.getCurrentLoggers()); loggers.add(LogManager.getRootLogger()); for ( Logger logger : loggers ) { logger.setLevel(Level.OFF); }


log4j.rootLogger=OFF