2011-03-24 10 views

Respuesta

8

Editar: A continuación, se escribió lo siguiente para Java 6. Para 7 y posteriores, consulte la respuesta de David a continuación.

AFAIK no hay tal propiedad. Hay un java.util.logging.FileHandler.pattern pero esto es para establecer el patrón del nombre de archivo de salida , no del formato de registro.

La forma de configurar el formato de salida en la API de registro de utilidades es configurando el Formatter. De forma predeterminada, se adjunta un SimpleFormatter a su ConsoleHandler. Este formateador simplemente codifica el patrón y no le permite configurarlo.

Si necesita un formato de salida diferente, deberá implementar su propio Formatter o utilizar un marco de registro diferente, como logback.

27

Esta pregunta ya ha sido respondida por alguien, pero quiero proporcionar alguna información nueva:

Desde Java 7, es posible configurar el patrón de salida para los mensajes de registro con el SimpleFormatter.

Puede utilizar esta propiedad en las propiedades de registro de archivo:

java.util.logging.SimpleFormatter.format = [%1$tc] %4$s: %2$s - %5$s %6$s%n 

Si necesita más información sobre la sintaxis patrón de echar un vistazo aquí: http://docs.oracle.com/javase/7/docs/api/java/util/Formatter.html

Los dígitos en el valor de la propiedad anterior se refieren a los parámetros proporcionados al formateador. Por favor refiérase a los documentos oficiales de Java para obtener más información: http://docs.oracle.com/javase/7/docs/api/java/util/logging/SimpleFormatter.html

fichero de configuración Ejemplo logging.properties:

handlers = java.util.logging.ConsoleHandler 
java.util.logging.ConsoleHandler.level = ALL 
java.util.logging.ConsoleHandler.formatter = java.util.logging.SimpleFormatter 
# Pattern works since Java 7 
java.util.logging.SimpleFormatter.format = [%1$tc] %4$s: %2$s - %5$s %6$s%n 

Cuando se llama al programa Java puede especificar el archivo de configuración como parámetro:

java -jar myProgram.jar -Djava.util.logging.config.file=logging.properties 
+0

También tuve que establecer el nivel raíz para que esto funcione '.level = ALL'. – haridsv

Cuestiones relacionadas