Si configuro el nivel de registro en DEPURAR, se registrarán/imprimirán todos los mensajes con nivel de registro> = DEPURAR. Pero, ¿puedo configurar el nivel de registro solo para DEPURAR, de modo que se impriman mensajes con nivel de registro solo con DEPURACIÓN? ¿O puede dar un rango como imprimir todos los mensajes cuyo nivel de registro es> = DEPURAR pero < ERROR?Es posible registrar solo mensajes de un nivel con Log4J
9
A
Respuesta
8
¿Tal vez puedas usar un filtro de escala de nivel?
En alguna situación, debe escribir registros en diferentes salidas de acuerdo con el nivel. ¿Cómo se puede hacer simplemente configurando Log4j? Hay algunos métodos a continuación.
1
Como se ha dicho Jarle tienes que usar LevelMatchFilter. Voy a demostrar que con un examen sencillo:
log4j.rootLogger = WARN, admin
log4j.appender.admin=org.apache.log4j.rolling.RollingFileAppender
log4j.appender.admin.rollingPolicy = org.apache.log4j.rolling.TimeBasedRollingPolicy
log4j.appender.admin.rollingPolicy.FileNamePattern = Files\\TestLevels-%d{dd-MM-yyy}.txt
log4j.appender.admin.layout = org.apache.log4j.PatternLayout
log4j.appender.admin.layout.ConversionPattern = Date: %d{dd-MM-yyyy} Time: %d{HH:mm:ss} Message [%m]%n
log4j.appender.admin.filter.01=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.admin.filter.01.LevelToMatch=FATAL
log4j.appender.admin.filter.01.AcceptOnMatch=false
log4j.appender.admin.filter.02=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.admin.filter.02.LevelToMatch=ERROR
log4j.appender.admin.filter.02.AcceptOnMatch=true
log4j.appender.admin.filter.03=org.apache.log4j.varia.LevelMatchFilter
log4j.appender.admin.filter.03.LevelToMatch=WARN
log4j.appender.admin.filter.03.AcceptOnMatch=false
En mi fuente añado solamente ERROR mensajes al archivo con el nombre TestLevels.txt
Cuestiones relacionadas
- 1. Formateo de Log4j: ¿es posible truncar stacktraces?
- 2. cambiar el nivel de prioridad en Log4J
- 3. Formateo de slf4j para registrar tipos de mensajes con colores
- 4. Cómo registrar mensajes de seguimiento con log4net?
- 5. java log4j elegir qué archivo registrar en
- 6. Registrar mensajes SOAP
- 7. ¿Es posible prefijar cada línea de un stacktrace en log4j?
- 8. ¿Filtrar mensajes log4j de marcos de terceros?
- 9. log4j y weblogic: mensajes de registro duplicados
- 10. Log4j | La actualización del nivel de registro para el archivo
- 11. ¿Es posible registrar paquetes dinámicamente en Symfony2?
- 12. ¿Es posible crear un interbloqueo con acceso de solo lectura?
- 13. Multiple Ruby EventMachines en un solo proceso: ¿es posible?
- 14. log4j SMTPAppender - Mensajes de error de correo electrónico
- 15. ¿Es posible registrar un ayudante para una plantilla de manillar único?
- 16. ¿Es posible configurar log4j para crear un nuevo archivo con cada ejecución de la aplicación?
- 17. Nivel de registro por appender para un solo registrador
- 18. log4net traceappender solo registra mensajes con nivel 'verbose' cuando se usa Windows Azure DiagnosticsMonitor
- 19. ¿Debo registrar mensajes en stderr o stdout?
- 20. Registrar mensajes en la consola JUnit
- 21. ¿Cómo configuro el nivel log4j en la línea de comando?
- 22. Escapar solo lo necesario, ¿es eso posible?
- 23. ¿Cómo es posible el paralelismo en un solo hilo/núcleo?
- 24. ¿Cómo se puede cambiar el nivel de registro de un paquete con Log4j?
- 25. ¿Es posible registrar la salida de Scala REPL?
- 26. Cómo configurar log4j para registrar diferentes niveles de registro en diferentes archivos para el mismo registrador
- 27. ¿Es posible aplicar el comportamiento de solo lectura con SqlCommand?
- 28. ¿Es posible registrar consultas sql en tareas de rake?
- 29. log4j: ¿Forma estándar de evitar mensajes de registro repetitivos?
- 30. Logback para registrar mensajes diferentes en dos archivos
Yo no lo creo, no. – skaffman
Si planea hacer algo en contra del diseño original, puede modificar su código fuente. Bueno, ¿por qué no seguir el diseño? –
He estado intentando descubrir lo mismo por MUCHO tiempo. – McTrafik