Estoy tratando de integrar Jetty 6.1 en otro programa. Jetty está volcando información INFO-log y necesito apagarlo. ¿Hay una manera simple de deshabilitar el programa de registro de formamatica?Embarcadero: ¿cómo deshabilitar el registro?
Respuesta
En Jetty Embedded puedes probar: org.mortbay.log.Log.setLog (null); Antes de llamar al servidor.
sugerencia: ** antes ** el servidor de llamadas es importante –
He tenido éxito en la creación de un registrador ficticio que descarta todo lo que siempre se ha pedido que inicie sesión, y luego lo pasa al Log.setLog(...)
.
E.g.
private static class DummyLogger implements Logger {
@Override
public String getName() {
return "DummyLogger";
}
@Override
public void warn(String msg, Object... args) {}
@Override
public void warn(Throwable thrown) {}
@Override
public void warn(String msg, Throwable thrown) {}
@Override
public void info(String msg, Object... args) {}
@Override
public void info(Throwable thrown) {}
@Override
public void info(String msg, Throwable thrown) {}
@Override
public boolean isDebugEnabled() {return false; }
@Override
public void setDebugEnabled(boolean enabled) {}
@Override
public void debug(String msg, Object... args) {}
@Override
public void debug(Throwable thrown) {}
@Override
public void debug(String msg, Throwable thrown) {}
@Override
public Logger getLogger(String name) {return this; }
@Override
public void ignore(Throwable ignored) {}
}
Como referencia, que utilizan estos paquetes:
import org.eclipse.jetty.util.log.Log;
import org.eclipse.jetty.util.log.Logger;
en lugar de los Mortbay, pero probablemente debería comportarse de la misma (o al menos de manera similar).
Mirando el debugging page mencionado por Vinay:
embarcadero utiliza la infraestructura de registro SLF4J para tender un puente a commons-logging para JSP2.0. Esto significa que los mensajes de registro común se envían a la interfaz SLF4J.
Enviamos la implementación de registro simple, que solo enviará mensajes de nivel INFO y superiores a stderr.
Sin embargo, puede reemplazar el registro simple con cualquier otra aplicación de registro SLF4J mediante la eliminación de la lib/jsp-2.0/slf4j-sencillo-1,0-rc5.jar y copiado en los impl SLF4J de su elección. El código del núcleo Jetty tiene una dependencia suave en SLF4J, lo que significa que si se encuentra un impl SLF4J en el classpath al inicio, Jetty lo dirigirá a todos los mensajes de inicio de sesión.
Como alternativa, puede quitar los frascos SLF4J por completo y utilizar commons-logging no por copiar en el frasco commons-logging y una commons-logging impl registro compatibles, tales como log4j, a la lib /. Sin embargo, si lo hace, tenga en cuenta que, como el código de Jetty principal no utiliza el registro de commons, en su lugar, registrará los mensajes en stderr. Siga leyendo para aprender cómo obtener el mecanismo de registro de stderr para imprimir mensajes de nivel de DEPURACIÓN.
Así que se trata de poner el archivo jar correcto. Por ejemplo, podría poner una interfaz compatible con log4j y configurar su archivo de configuración log4j correctamente para silenciar por completo las declaraciones de registro de embarcadero o para ser más detallado.
Conjunto nivel StdErrLog
-WARN
, antes de iniciar el servidor:
Properties p = new Properties();
p.setProperty("org.eclipse.jetty.LEVEL", "WARN");
org.eclipse.jetty.util.log.StdErrLog.setProperties(p);
Esto parece funcionar, aunque no existe la opción 'NINGUNO '. 'esperando solo [ALL, DEBUG, INFO, WARN]' –
@ThomasAhle es cierto, pero estoy de acuerdo con su elección. No es realmente una buena idea evitar que aparezca un error en el registro. –
@ThomasAhle Parece que hay una opción 'OFF' aunque:' $ {name | hierarchy} .LEVEL = (ALL | DEBUG | INFO | WARN | OFF) ', fuente: http://download.eclipse.org/jetty /9.3.6.v20151106/apidocs/org/eclipse/jetty/util/log/StdErrLog.html – m4rtin
Una versión más concisa de la respuesta de Jeff Chern:
org.eclipse.jetty.util.log.Log.setLog(new NoLogging())
.
import org.eclipse.jetty.util.log.Logger;
public class NoLogging implements Logger {
@Override public String getName() { return "no"; }
@Override public void warn(String msg, Object... args) { }
@Override public void warn(Throwable thrown) { }
@Override public void warn(String msg, Throwable thrown) { }
@Override public void info(String msg, Object... args) { }
@Override public void info(Throwable thrown) { }
@Override public void info(String msg, Throwable thrown) { }
@Override public boolean isDebugEnabled() { return false; }
@Override public void setDebugEnabled(boolean enabled) { }
@Override public void debug(String msg, Object... args) { }
@Override public void debug(Throwable thrown) { }
@Override public void debug(String msg, Throwable thrown) { }
@Override public Logger getLogger(String name) { return this; }
@Override public void ignore(Throwable ignored) { }
}
Nota: esto no es apropiado para Jetty 6.1 (como la pregunta indicada). El espacio del paquete 'org.eclipse.jetty' no existía hasta Jetty 7.0 –
La respuesta a continuación por @ arcuri82 es la configuración más adecuada (sin código personalizado) para lograr su objetivo final. –
System.setProperty("org.eclipse.jetty.util.log.class", "org.eclipse.jetty.util.log.StdErrLog");
System.setProperty("org.eclipse.jetty.LEVEL", "OFF");
Esto funcionó para mí, pero sólo asegúrese de llamar antes de iniciar el servidor.
Esta es la respuesta correcta para Jetty 7.0+ –
Esto funciona, ¡gracias! – Ehsan
- 1. ¿Cómo deshabilitar el registro en Codeigniter?
- 2. ¿Deshabilitar el registro por método/función?
- 3. ¿Deshabilitar el registro de Apache HTTP Client?
- 4. ¿Deshabilitar el registro durante la prueba manage.py?
- 5. Log4Net/C# - Deshabilitar el registro predeterminado
- 6. Cómo deshabilitar cualquier registro para un hilo
- 7. Cómo deshabilitar el registro de frontend en Magento
- 8. Cómo deshabilitar el registro de depuración del sur en django?
- 9. Ejecutando el embarcadero del eclipse
- 10. Deshabilitar el registro de Rails desde el script/runner
- 11. Deshabilitar el registro de boto sin modificar los archivos boto
- 12. Deshabilitar el acceso de registro para un proceso específico (WinAPI)
- 13. Deshabilitar el registro para un paquete en particular
- 14. Deshabilitar el registro en Java en tiempo de compilación
- 15. java API de registro, deshabilitar el registro a la salida estándar
- 16. Apagado programático de embarcadero
- 17. despliegue de scalatra en el embarcadero
- 18. implementación en caliente en el embarcadero incrustado
- 19. Definición de dos orígenes de datos en embarcadero (embarcadero-env.xml)
- 20. Cómo deshabilitar el registro de log4j desde el código de Java
- 21. Cómo deshabilitar el registro usando selenio con el enlace de Python
- 22. Bibliotecas para incrustar embarcadero?
- 23. Cómo activar/desactivar el registro usando Log4net
- 24. Missing Maven Plugin embarcadero
- 25. ¿Cómo comenzar la elevación en el embarcadero incrustado?
- 26. ¿Cómo dejo el servidor de embarcadero en clojure?
- 27. Tomcat VS embarcadero
- 28. Embarcadero: servlets vs handlers
- 29. Despliegue automático con Jenkins/embarcadero
- 30. Configuración de embarcadero en Eclipse
¿Encontró la solución? ¿Qué tal actualizar tu publicación? –