Академический Документы
Профессиональный Документы
Культура Документы
Configurando log4j
En el anterior artículo aprendimos a usar BasicConfigurator, para utilizar el API log4j de
forma sencilla. Esta clase usa un PatternLayout para mostrar la información que
examinaremos a continuación, para luego aprender a definir nuestros propias instancias de
PatternLayout y conseguir un log personalizado.
El PatternLayout de BasicConfigurator.
Ahora vamos a ver paso por paso como se utilizan estos patrones de conversión (puede
encontrar una descripción de todas las opciones que puede incluir en un patrón de conversión
en http://jakarta.apache.org/log4j/docs/api/org/apache/log4j/PatterLayout.html ).
Las secuencias de carácteres que comienzan con el símbolo %, son cadenas especiales que se
reemplazan por información útil sobre la aplicación que se está ejecutando.
1
http://www.javahispano.com
Ahora que hemos aprendido a crear nuestro PatternLayout, debemos saber como podemos
usarlo en nuestras aplicaciones.
Para usar PropertyConfigurator nos crearemos un fichero con las siguientes líneas:
log4j.rootCategory=DEBUG, A1
log4j.appender.A1=org.apache.log4j.ConsoleAppender
log4j.appender.A1.layout=org.apache.log4j.PatternLayout
log4j.appender.A1.layout.ConversionPattern=%-5p [%d{ISO8601}] (%M [%C:%L])
- %m%n
Con la primera línea especificamos en primer lugar que para la categoría raíz, sólo se
mostrarán los mensajes de prioridad mayor o igual que DEBUG, y que se usará como
Appender (que veremos más a fondo en el próximo artículo) A1. Se podría añadir más de un
Appender a una categoría separándolos por comas tras la prioridad. Si quisiéramos definir una
prioridad y un Appender distintos para la categoría com.javahispano podríamos a
continuación añadir:
2
Log4j (parte 2)
log4j.category.com.javahispano=INFO, A2
La segunda línea especifica el tipo de Appender, que ya veremos lo que es. Basta con saber
que este hará que toda la información se nos muestre por pantalla.
La tercera línea hace que el layout del appender que estemos definiendo sea del tipo
PatternLayout.
import org.apache.log4j.*;
import org.apache.log4j.*;
public Foo() {
cat.debug("Creando un foo");
}
Para ejecutar el programa de prueba simplemente tenemos que pasarle el nombre que le
hayamos dado al fichero de configuración como primer parámetro y obtendremos:
Como habrá visto, el esquema del fichero de configuración es claramente jerárquico, por lo
tanto, encaja perfectamente su descripción dentro de un fichero XML.
3
http://www.javahispano.com
Para usar ficheros XML para configurar el log, log4j nos ofrece la clase DOMConfigurator.
Esta clases es muy similar a PropertyConfigurator, pero espera un fichero en un formato
XML determinado por el fichero log4j.dtd (puedes descargar este fichero de aqui). El fichero
de configuración XML equivalente al que hemos usado anteriormente es el que sigue:
<root>
<priority value ="debug" />
<appender-ref ref="A1" />
</root>
</log4j:configuration>
import org.apache.log4j.*;
import org.apache.log4j.xml.*;
Próximo artículo.
En el próximo artículo veremos como usar los distintos tipos de Appenders que nos ofrece
log4j.