2009-08-04 14 views

Respuesta

1

¿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.

+0

(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

8

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!"); 
Cuestiones relacionadas