IBM Enterprise Records, Versión 5.1.+            

Configuración del archivo log4j.properties

La aplicación IBM® Enterprise Records incluye un archivo log4j.properties de muestra que se puede configurar.

El archivo log4j.properties se encuentra ubicado en la carpeta ruta_instalación_ier\ RecordsManagerSweep y puede configurar el comportamiento de registro especificando los siguientes valores en el archivo:

Cada registrador del archivo log4j.properties tiene asignado un nivel. Si no asigna ningún nivel a un registrador, el archivo log4j asigna automáticamente el nivel del registrador padre al registrador sin asignación. De forma predeterminada, se asigna el nivel a un registrador.

Puede configurar el archivo log4j.properties con diferentes valores de registrador, agregador y diseño. El archivo log4j.properties debe estar disponible en la aplicación en tiempo de ejecución desde la ruta de clase. Puede comentar las entradas en el archivo de muestra colocando delante de la sentencia el símbolo hash (#); las entradas marcadas con el símbolo hash (#) no se ejecutarán en tiempo de ejecución.

Para abrir el archivo log4j.properties, vaya a la carpeta ruta_instalación_ier\RecordsManagerSweep y, a continuación, abra el archivo con un editor de texto.

Establecimiento del registrador y del nivel de registro

En primer lugar, tiene que definir el registrador. Puede disponer de varios registradores para clasificar el tipo de registro que requiera para la aplicación. Para habilitar el registro de todas las clases de com.filenet.rm y sus subpaquetes, especifique el registrador como se indica en la siguiente sentencia:

log4j.logger.com.filenet.rmor 

Puede especificar el nombre que desee para el registrador. Por ejemplo, puede llamar al registrador APILOG, como muestra esta sentencia:

log4j.logger.com.filenet.rm=warn, APILOG

Necesita definir un nivel de registro para establecer el nivel de detalle de los mensajes registrados por log4j en tiempo de ejecución.El archivo log4j admite cinco niveles normales de registro como se muestra en la tabla más abajo.

Tabla 1. Nivel de los mensajes registrado por log4j en tiempo de ejecución
Nivel Descripción
DEBUG Designa los eventos informativos precisos que resultan más útiles para depurar una aplicación.
INFO Designa mensajes informativos que resaltan el progreso de la aplicación a un nivel general.
WARN Designa situaciones potencialmente perjudiciales.
ERROR Designa eventos de error que podrían seguir permitiendo la ejecución de la aplicación.
FATAL Designa eventos de error muy graves que podrían probablemente hacer que la aplicación terminara anormalmente.

Consulte la documentación relativa al archivo log4j en el sitio web de Apache para obtener información sobre niveles de registro especiales y personalizados. De forma predeterminada, la aplicación se inicia en el nivel WARN. Este puede cambiarse a los niveles DEBUG, INFO, ERROR, WARN, o FATAL en tiempo de ejecución. También puede incluir varias sentencias de registrador, cada una de ellas para el mismo registrador, pero con distintos niveles (como DEBUG para uno y WARN para otro). Puede comentar una y otra en el archivo de muestra colocando delante de la sentencia el símbolo hash (#) y alternando entre los niveles DEBUG y WARN según resulte necesario. Las entradas marcadas con el símbolo hash (#) no se ejecutarán en tiempo de ejecución. Un registrador sin nivel hereda automáticamente el nivel de su registrador padre. De forma predeterminada, se asigna el nivel WARN al registrador de la API de RM en IBM Enterprise Records.

Definir agregadores

Un registrador se asocia con uno o varios agregadores para permitir que se graben sus mensajes en los soportes de salida. Puede definir distintas clases de agregadores en el archivo log4j.properties que envía la información de registro a la ubicación de salida especificada. La siguiente tabla ofrece una lista de todos los agregadores que se utilizan en el archivo log4j.properties junto con breves descripciones y opciones relacionadas.

Tabla 2. Agregadores, descripciones y fragmentos de código
Agregador Descripción y fragmentos de código
NTEventLogAppender

Se añade al registro de sucesos de Microsoft Windows NT. Este agregador solo se puede instalar y utilizar en un sistema Windows.

log4j.appender.APILOG=org.apache.log4j.nt.NTEventLogAppender
ConsoleAppender

Añade mensajes de registro a la corriente System.out (predeterminada) o System.err mediante un diseño especificado por el usuario.

 log4j.appender.APILOG=org.apache.log4j.ConsoleAppender

Opciones:

  • Threshold=WARN: este agregador no registrará ningún mensaje cuya prioridad sea inferior a la que se especifique aquí, incluso aunque la prioridad del registrador se haya establecido con un valor más bajo. Resulta útil para reducir el número de mensajes , por ejemplo, en un registro de archivo mientras se muestran todos los mensajes en la consola.
  • ImmediateFlush=true: el valor predeterminado es true, lo que significa que los mensajes de registro no se almacenan en búfer en absoluto. Si ImmdiateFlush se establece como false, es posible que un número reducido de los últimos eventos no se grabe en soportes constantes cuando se produzca un problema con la aplicación. El valor recomendado es true.
FileAppender

Añade mensajes de registro a un archivo.

 log4j.appender.APILOG=org.apache.log4j.FileAppender

Opciones:

  • Threshold=WARN: este agregador no registrará ningún mensaje cuya prioridad sea inferior a la que se especifique aquí, incluso aunque la prioridad del registrador se haya establecido con un valor más bajo. Resulta útil para reducir el número de mensajes , por ejemplo, en un registro de archivo mientras se muestran todos los mensajes en la consola.
  • ImmediateFlush=true: de forma predeterminada, está establecido como true, lo que significa que los mensajes de registro no se almacenan en búfer en absoluto. Si ImmdiateFlush se establece como false, es posible que un número reducido de los últimos eventos no se grabe en soportes constantes cuando se produzca un problema con la aplicación. El valor recomendado es true.
  • File=mylog.txt: nombre de archivo para registrar. Puede utilizar ${alguna_clave_propiedad} (por ejemplo, las propiedades del sistema java.home o user.home) para especificar la vía de acceso.
  • Append=false: de forma predeterminada, está establecido como true, lo que significa que se añadirá al final del archivo. False sobrescribe el archivo al inicio de cada ejecución de programa.
RollingFileAppender

Amplía FileAppender para realizar copia de seguridad de los archivos de registro cuando alcanzan un determinado tamaño.

 log4j.appender.APILOG=org.apache.log4j.RollingFileAppender

Opciones:

  • Threshold=INFO: este agregador no registrará ningún mensaje cuya prioridad sea inferior a la que se especifique aquí, incluso aunque la prioridad del registrador se haya establecido con un valor más bajo. Resulta útil para reducir el número de mensajes , por ejemplo, en un registro de archivo mientras se muestran todos los mensajes en la consola.
  • ImmediateFlush=true: de forma predeterminada, está establecido como true, lo que significa que los mensajes de registro no se almacenan en búfer en absoluto. Si ImmdiateFlush se establece como false, es posible que un número reducido de los últimos eventos no se grabe en soportes constantes cuando se produzca un problema con la aplicación. El valor recomendado es true.
  • File=mylog.txt: nombre de archivo para registrar. Puede utilizar ${alguna_clave_propiedad} (por ejemplo, las propiedades del sistema java.home o user.home) para especificar la vía de acceso en la parte frontal.
  • Append=false: de forma predeterminada, está establecido como true, lo que significa que se añadirá al final del archivo. El valor false sobrescribe el archivo al inicio de cada ejecución de programa.
  • MaxFileSize=100KB: el tamaño de los sufijos puede ser KB, MB o GB. Renombre el archivo de registro cuando se alcance este tamaño. El anexo adopta un valor booleano que determina si los archivos de salida se sobrescribirán (false) o se anexarán (true). Al establecer el valor como false (valor predeterminado), se evita que los archivos sean de salida y se recomienda para los entornos de desarrollo en los que se realizarán ejecuciones únicas ocasionales. Si se establece el valor como true, la salida se anexa a un archivo de registro existente en cada ejecución de JVM. Puede limitar el tamaño del archivo de salida configurando la palabra clave MaxFileSize. Por ejemplo, si configura un archivo de salida, cjapi_log.txt, con los valores MaxFileSize=128KB y MaxBackupIndex=1, cuando el archivo sobrepase los 128 KB, su contenido se moverá de forma automática a cjapi_log.txt.1 y la grabación continuará en un archivo cjapi_log.txt. vacío.
  • MaxBackupIndex=2: mantener un máximo de 2 (por ejemplo) archivos de copia de seguridad. Borra los archivos más antiguos. 0 significa que no se conserva ningún archivo de copia de seguridad.

Definir diseños

Puede definir diferentes diseños en el archivo log4j.properties que especifiquen el formato del mensaje de registro. Puede especificar que los mensajes de registro incluyan la fecha, la hora, el nombre de módulo, el nombre de hebra, etc. Estos valores de configuración se utilizan en tiempo de ejecución al registrar el mensaje.

La siguiente tabla ofrece una lista de todos los agregadores que se utilizan en el archivo log4j.properties de IBM Enterprise Records log4j.properties junto con breves descripciones y opciones.

Tabla 3. Diseños y descripciones
Diseño Descripción y fragmento de código
SimpleLayout

Imprime el nivel, y a continuación un guion (-) seguido del texto del mensaje de registro.

org.apache.log4j.SimpleLayout
PatternLayout

Da formato a los eventos de anotaciones según un patrón de conversión especificado. Los patrones de conversión se componen de texto literal y especificadores de conversión. La salida del texto literal es tal cual. Los especificadores de conversión constan del carácter % seguido de un modificador de formato opcional y un carácter de conversión obligatorio. Por ejemplo, %-5p [%t]: %m%n es un patrón de conversión compuesto de un especificador de conversión de prioridad (también conocida como nivel) seguido del texto literal " [", seguido de un especificador de conversión de hebra, seguido del texto literal "]: " seguido de un especificador de conversión de mensajes y un separador de línea dependiente del sistema.

org.apache.log4j.PatternLayout

Opciones:

  • ConversionPattern=%-5p, [%t]:%m%n: cómo dar formato a cada mensaje de registro (qué información incluir).
HTMLLayout

Da formato a la salida como un tabla HTML.

org.apache.log4j.HTMLLayout

Opciones:

  • LocationInfo=true: salida del nombre de archivo Java y el número de línea. El valor predeterminado es false.
  • Title=My app title: establece el código <título> de HTML. El valor predeterminado es Log4J Log Messages.
 

Da formato a la salida como XML.

org.apache.log4j.xml.XMLLayout

Opciones:

  • LocationInfo=true: salida del nombre de archivo Java y el número de línea. El valor predeterminado es false.

El archivo log4j.properties suministrado con IBM Enterprise Records utiliza PatternLayout para el formato del mensaje de registro. En la tabla siguiente se ofrece una lista de patrones de conversión que se pueden declarar en el archivo de configuración junto con sus descripciones breves:

Tabla 4. Patrones de conversión y descripciones
Patrón Descripción
%t Nombre de la hebra que realiza la solicitud de registro
%c Nombre del registrador asociado con la solicitud de registro
%-60c Ajusta por la izquierda del nombre del registrador en un mínimo de 60 espacios
%r Número de milisegundos transcurridos desde el inicio de la aplicación
%p Nivel de la sentencia de anotación
%m Mensaje
%Time Hora a la que se producirán las anotaciones
%d Fecha del evento de anotaciones
%n Nueva línea

La siguiente sentencia de código muestra cómo activar PatternLayout y especificar un patrón de conversión simple:

log4j.appender.APILOG.layout=org.apache.log4j.PatternLayout
log4j.appender.APILOG.layout.ConversionPattern=%-5p %d {dd MMM yyyy HH:mm:ss,SSS}, -%m, %r, [%M] % n

Por ejemplo:

WARN, 20 Jun 2005 14:48:20,900, -[enter] getObjectStoreXML(ObjectStores), 102042, [setLoggerMessage]
WARN, 20 Jun 2005 14:48:21,100, -[exit] getObjectStoreXML(ObjectStores), 102342, [setLoggerMessage]


Feedback

Última actualización: Agosto de 2011


© Copyright IBM Corp. 2011.
Este centro de información se basa en la tecnología Eclipse. (http://www.eclipse.org)