IBM Enterprise Records, Versão 5.1.+            

Configurando o Arquivo log4j.properties

O aplicativo IBM® Enterprise Records inclui um arquivo log4j.properties de amostra que você pode configurar.

O arquivo log4j.properties está localizado na pasta ier_install_path\ RecordsManagerSweep e é possível configurar o comportamento da criação de log especificando valores no arquivo para o seguinte:

Cada criador de logs no arquivo log4j.properties é designado com um nível. Se você não designar um nível para um criador de logs, então o log4j automaticamente designa o nível do criador de logs pai para o criador de logs não designado. Por padrão, o nível WARN é designado para um criador de logs.

É possível configurar o arquivo log4j.properties com diferentes configurações do criador de logs, anexador e layout. O arquivo log4j.properties deve estar disponível para o aplicativo no tempo de execução do caminho da classe. É possível comentar a linha de entradas no arquivo de amostra ao prefixar uma instrução com um símbolo de sustenido (#); as entradas marcadas com o símbolo de sustenido (#) não serão executadas no tempo de execução.

Para abrir o arquivo log4j.properties, navegue até a pasta ier_install_path\RecordsManagerSweep, abra o arquivo usando um editor de texto.

Configurar o Criador de Logs e o Nível de Criação de Log

Primeiro, é preciso configurar o criador de logs. É possível ter um número de criadores de log para classificar o tipo de criação de log necessário para o aplicativo. Para ativar a criação de log para todas as classes de com.filenet.rm e seus subpacotes, especifique o criador de logs conforme mostrado na instrução a seguir:

log4j.logger.com.filenet.rmor 

É possível especificar qualquer nome para o criador de logs. Por exemplo, é possível nomear seu criador de logs APILOG, conforme mostrado na instrução a seguir:

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

É necessário configurar um nível de criação de log para estabelecer o nível de detalhe das mensagens registradas pelo log4j no tempo de execução. O log4j suporta cinco níveis normais de criação de log, conforme mostrado na tabela abaixo.

Tabela 1. Nível de Mensagens Registradas por log4j no Tempo de Execução
Nível Descrição
DEBUG Designa eventos informativos com baixa granularidade que são mais úteis para depurar um aplicativo.
INFO Designa mensagens informativas que destacam o progresso do aplicativo no nível de alta granularidade.
WARN Designa situações potencialmente prejudiciais.
ERROR Designa eventos de erro que ainda podem permitir que o aplicativo continue a executar.
FATAL Designa eventos de erro muito graves que presumivelmente levarão à interrupção do aplicativo.

Consulte a documentação do log4j no Web site do Apache para obter informações sobre níveis de criação de log especiais e customizados. Por padrão, o aplicativo inicia no nível WARN. Este pode ser modificado para os níveis DEBUG, INFO, ERROR, WARN ou FATAL no tempo de execução. Também é possível incluir diversas instruções do criador de logs, cada uma para o mesmo criador de logs mas com diferentes níveis (tais como DEBUG para um, WARN para outro). É possível comentar a linha em um ou outro no arquivo de amostra ao prefixar a instrução com um símbolo de sustenido (#) e alternar conforme necessário entre os níveis DEBUG e WARN. As entradas marcadas com o símbolo de sustenido (#) não serão executadas no tempo de execução. Um criador de logs que não possui um nível automaticamente herda o nível de seu criador de logs pai. Por padrão, o nível WARN é designado para o criador de logs da API RM no IBM Enterprise Records.

Configurar Anexadores

Um criador de logs é associado com um ou mais anexadores para permitir que suas mensagens de log sejam gravadas na mídia de saída. É possível configurar diferentes tipos de anexadores no arquivo log4j.properties que envia as informações de log para o local de saída especificado. A tabela a seguir fornece uma lista de todos os anexadores sendo usados no arquivo log4j.properties junto com breves descrições e opções relacionadas.

Tabela 2. Anexadores, Descrições e Fragmentos de Código
Anexador Descrição e Fragmentos de Código
NTEventLogAppender

Anexa ao Log de Eventos do Microsoft Windows NT. Este anexador pode ser instalado e usado apenas em um sistema Windows.

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

Anexa mensagens de log ao fluxo System.out (o padrão) ou System.err usando um layout especificado pelo usuário.

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

Opções:

  • Threshold=WARN: Este anexador não irá registrar nenhuma mensagem com prioridade inferior àquela especificada aqui, mesmo se a prioridade do criador de logs for configurada como inferior. Isso é útil para recortar o número de mensagens, por exemplo, em uma log de arquivo enquanto exibe todas as mensagens na console.
  • ImmediateFlush=true: A configuração padrão é true, o que significa que as mensagens de log não são armazenadas em buffer de forma alguma. Se o ImmdiateFlush estiver configurado como falso, os poucos últimos eventos de log podem não ser gravados em uma mídia constante quando ocorrer problema com o aplicativo. A configuração recomendada é verdade.
FileAppender

Anexa mensagens de log a um arquivo.

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

Opções:

  • Threshold=WARN: Este anexador não irá registrar nenhuma mensagem com prioridade inferior àquela especificada aqui, mesmo se a prioridade do criador de logs for configurada como inferior. Isso é útil para recortar o número de mensagens, por exemplo, em uma log de arquivo enquanto exibe todas as mensagens na console.
  • ImmediateFlush=true: Por padrão, é configurada como true, o que significa que as mensagens de log não são armazenadas em buffer de forma alguma. Se o ImmdiateFlush estiver configurado como falso, os poucos últimos eventos de log podem não ser gravados em uma mídia constante quando ocorrer problema com o aplicativo. A configuração recomendada é verdade.
  • File=mylog.txt: Nome do arquivo para registrar. É possível usar ${some_property_key} (por exemplo, propriedades do sistema java.home ou user.home) para especificar o caminho.
  • Append=false: Por padrão é configurado como true, o que significa anexar ao final do arquivo. False sobrescreve o arquivo no início de cada execução do programa.
RollingFileAppender

Estende o FileAppender para fazer backup dos arquivos de log quando eles atingem um determinado tamanho.

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

Opções:

  • Threshold=INFO: Este anexador não irá registrar nenhuma mensagem com prioridade inferior àquela especificada aqui, mesmo se a prioridade do criador de logs for configurada como inferior. Isso é útil para recortar o número de mensagens, por exemplo, em uma log de arquivo enquanto exibe todas as mensagens na console.
  • ImmediateFlush=true: Por padrão, é configurada como true, o que significa que as mensagens de log não são armazenadas em buffer de forma alguma. Se o ImmdiateFlush estiver configurado como falso, os poucos últimos eventos de log podem não ser gravados em uma mídia constante quando ocorrer problema com o aplicativo. A configuração recomendada é verdade.
  • File=mylog.txt: Nome do arquivo para registrar. É possível usar ${some_property_key} (por exemplo, propriedades do sistema java.home ou user.home) para especificar o caminho na frente.
  • Append=false: Por padrão, é configurado como true, o que significa anexar ao final do arquivo. false sobrescreve o arquivo no início de cada execução do programa.
  • MaxFileSize=100KB: Os sufixos podem ser KB, MB ou GB. Rola o arquivo de log após este tamanho ser atingido. O anexo assume um valor booleano que determina se os arquivos de saída serão sobrescritos (false) ou anexados (true). A configuração do valor como false (padrão) impede que os arquivos aumentem sem limite e é recomendada para ambientes de desenvolvimento nos quais você fará execuções únicas ocasionais. Configurar o valor com true anexa a saída a um arquivo de log existente em cada execução de JVM. É possível limitar o tamanho do arquivo de saída configurando a palavra-chave MaxFileSize. Por exemplo, se você configurar um arquivo de saída cjapi_log.txt com MaxFileSize=128KB e MaxBackupIndex=1, quando o arquivo exceder 128 KB, seus conteúdos serão automaticamente movidos para cjapi_log.txt.1 e a gravação continuará com um arquivo cjapi_log.txt vazio.
  • MaxBackupIndex=2: Mantém um máximo de 2 arquivos de backup (por exemplo). Apaga arquivo(s) antigo(s). 0 significa que nenhum arquivo de backup é mantido.

Configurar Layouts

É possível configurar diferentes layouts no arquivo log4j.properties que especifica o formato da mensagem de log. É possível especificar que as mensagens de log incluam a data, hora, nome do módulo, nome do encadeamento e assim por diante. Estas definições de configuração são usadas no tempo de execução durante o registro da mensagem.

A tabela a seguir fornece uma lista de todos os layouts sendo usados no arquivo log4j.properties do IBM Enterprise Records junto com descrições breves e opções.

Tabela 3. Layouts e Descrições
Layout Descrição e fragmento de código
SimpleLayout

Imprime o Nível, em seguida, um traço (-) seguido pelo texto da mensagem de log.

org.apache.log4j.SimpleLayout
PatternLayout

Formata eventos de criação de log de acordo com um padrão de conversão especificado. Padrões de conversão são compostos de texto literal e especificadores de conversão. O texto literal é a saída no estado em que se encontra. Especificadores de conversão consistem em caracteres % acompanhados por um modificador de formato opcional e um caractere de conversão obrigatório. Por exemplo, %-5p [%t]: %m%n é um padrão de conversão composto de um especificador de conversão de prioridade (também conhecido como nível) acompanhado pelo texto literal " [", acompanhado por um especificador de conversão de encadeamento, acompanhado pelo texto literal "]: " acompanhado por um especificador de conversão de mensagem e um separador de linhas dependente do sistema.

org.apache.log4j.PatternLayout

Opções:

  • ConversionPattern=%-5p, [%t]:%m%n: Como formatar cada mensagem de log (quais informações incluir).
HTMLLayout

Formata a saída como uma tabela HTML.

org.apache.log4j.HTMLLayout

Opções:

  • LocationInfo=true: Exibe o nome do arquivo Java e o número da linha. A configuração padrão é false.
  • Title=My app title: Configurar a tag <title> do HTML. A configuração padrão é Log4J Log Messages.
 

Formata a saída como XML.

org.apache.log4j.xml.XMLLayout

Opções:

  • LocationInfo=true: Exibe o nome do arquivo Java e o número da linha. A configuração padrão é false.

O arquivo log4j.properties fornecido com o IBM Enterprise Records usa PatternLayout para o formato da mensagem de log. A tabela a seguir fornece uma lista de padrões de conversão que podem ser declarados no arquivo de configuração junto com suas descrições breves:

Tabela 4. Padrões de Conversão e Descrições
Padrão Descrição
%t Nome do encadeamento fazendo a solicitação de log
%c Nome do criador de logs associado com a solicitação de log
%-60c Justificar à esquerda o nome do criador de logs dentro de 60 espaços no mínimo
%r Número de milissegundos decorridos desde o início do aplicativo
%p Nível da instrução de log
%m Mensagem
%Time Horário no qual a criação de log ocorre
%d Data do evento de criação de log
%n Nova linha

A seguinte instrução de código mostra como ativar PatternLayout e especifica um padrão de conversão simples:

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 exemplo:

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 atualização: Agosto 2011


© Copyright IBM Corporation 2011.
Este centro de informações é desenvolvido com tecnologia Eclipse. (http://www.eclipse.org)