Estoy usando java.util.logging para fines de registro y seguimiento. ¿Cómo puedo dentro de una aplicación Java establecer dinámicamente el archivo en el que debe escribirse el registro?Estableciendo el destino java.util.logging programáticamente
Respuesta
¿Estás hablando de JULog?
Si es así, la respuesta es "no se puede". Para cambiar el archivo al que está ingresando (o cambiar cualquier otra cosa en la configuración), necesita saber qué implementación de registro subyacente está utilizando y el objetivo de usar JULog (bastante discutible, por cierto, a menos que esté desarrollando una biblioteca).) es no tener CUALQUIER vínculos con las implementaciones de registro.
Si la selección de un archivo en el tiempo de ejecución es un requisito, es probable que sea mejor ir con una implementación concreta como Log4j.
El java.util.logging.FileHandler
podría hacer su trabajo por usted. El siguiente fragmento de código muestra un ejemplo sencillo de cómo hacer establecer el destino de registro mediante programación:
Logger logger = Logger.getLogger("my.logger.name");
try {
FileHandler handler = new FileHandler("application.log", true);
logger.addHandler(handler);
} catch (IOException e) {
throw new IllegalStateException("Could not add file handler.", e);
}
logger.info("Hello Logger!");
- 1. estableciendo programáticamente max java tamaño de pila
- 2. slf4j + java.util.logging: cómo configurar?
- 3. Estableciendo el título de UINavigationBar
- 4. estableciendo el valor de una casilla de verificación programáticamente en C# (wpf)
- 5. Abrir un archivo pdf programáticamente en un destino con nombre
- 6. Cómo usar java.util.logging en Weblogic?
- 7. ¿Cómo configurar java.util.logging en Android?
- 8. Cómo enviar java.util.logging a log4j?
- 9. Programación de cacao, estableciendo el delegado
- 10. Estableciendo titleLabel para UIButton
- 11. Diferencia en el uso de java.util.logging y log4j Loggers
- 12. java.util.logging: cómo establecer el nivel por paquete logger (o prefijo)?
- 13. nombre del hilo de impresión usando java.util.logging
- 14. java.util.logging: cómo suprimir la línea de fecha
- 15. Cómo redirigir java.util.logging a un archivo?
- 16. java.util.logging para iniciar sesión en la consola
- 17. Estableciendo un eje en matplotlib
- 18. Estableciendo dinámicamente fetchLimit para NSFetchedResultsController
- 19. Vb.net - Estableciendo un valor de margen de control
- 20. MySQL: Actualizando todas las filas estableciendo un campo en 0, pero estableciendo el campo de una fila en 1
- 21. jQuery estableciendo el atributo seleccionado en una lista de selección
- 22. estableciendo el espaciado entre gráficos de barras agrupadas en matplotlib
- 23. estableciendo la paridad con el método de control de transferencia
- 24. Enviando correo electrónico usando smtp y estableciendo el id-mensaje
- 25. Javascript: estableciendo onclick dinámicamente y pasando el elemento en sí
- 26. Estableciendo el rango en NULL utilizando RANK() OVER en SQL
- 27. estableciendo el límite del eje y en matplotlib
- 28. Depurar ServletContextListener.contextDestroyed() estableciendo el punto de ruptura en eclipse
- 29. Usando createAttribute vs. simplemente estableciendo el atributo directamente?
- 30. Estableciendo el objetivo de Xcode para iPhone NO iPad
(NB: Esta respuesta fue para el original, sin editar pregunta "Configuración de la tala de julio"/"Estoy usando el registro de julio .. . ") En lugar de Log4j, esto podría lograrse usando Logback (use slf4j para redirigir todo el registro a logback); vea http://stackoverflow.com/questions/3803184/setting-logback-appender-path-programmatically (pero aún así, es una mala idea; hay varios append/políticas de inicio de sesión que controlan el archivo de salida, lo que permite que la configuración de registro permanezca). en la configuración xml, donde pertenece) – michael