Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Como funciona?

As configurações de log são realizadas por instalação da plataforma , e são definidas no arquivo <INSTALL_DIR>'domain.xml' localizado em [Instalação fluig]/appserver/domain/configuration/domain.xml. .

Nota

No caso de um ambiente em

...

alta disponibilidade, as alterações

...

nas configurações de log devem ser efetuadas em todas as máquinas

...

do cluster.

A configuração de log consiste basicamente em dois tipos de itemsitens: 'handlers' e 'loggers'.

O 'handler' é responsável pela forma de processamento/armazenamento dos registros de log, enquanto o 'logger' é responsável por definir o nível de um pacote específico e por qual(is) 'handler(s)' este pacote será tratado.

Por exemplo, o 'handler' do arquivo de log padrão da plataforma (server.log) possui a seguinte configuração:

Bloco de código
languagexml
themeEclipse
titledomain.xml
<periodic-rotating-file-handler autoflush="true" name="FILE">
    <formatter>
        <named-formatter name="PATTERN"/>
    </formatter>
    <file path="server.log" relative-to="jboss.server.log.dir"/>
    <suffix value=".yyyy-MM-dd"/>
    <append value="true"/>
    <level name="INFO"/>
</periodic-rotating-file-handler>

Basicamente esta configuração define que o arquivo de log definido na propriedade <file> (server.log), será rotacionado no final de cada dia, ou seja, o conteúdo que estava no arquivo será salvo em outro arquivo contendo a data como sufixo, seguindo o padrão definido na propriedade <suffix>, e o arquivo original será zerado para registrar as próximas mensagens. 

É importante verificar que a propriedade <level> deste 'handler' possui, por padrão, o valor "'INFO"'. Isso significa que este 'handler' irá registrar apenas mensagens de nível "INFO" ou superior. Sendo assim, mesmo que existam pacotes enviando mensagens em nível de 'DEBUG', eles não serão registrados, pois 'DEBUG' é um nível mais baixo que 'INFO'. Caso se deseje visualizar mensagens em nível de 'DEBUG' no arquivo 'server.log', é necessário primeiramente alterar a configuração de '<level name="INFO"/>' para '<level name="DEBUG"/>'.

Os níveis de log seguem a seguinte ordem, sendo do nível mais baixo ao mais alto:

Painel
  1. ALL
  2. FINEST
  3. FINER
  4. TRACE
  5. DEBUG
  6. FINE
  7. CONFIG
  8. INFO
  9. WARN
  10. WARNING
  11. ERROR
  12. SEVERE
  13. FATAL

Ou sejaExemplo, se um 'handler' for definido com level ="INFO" igual a 'INFO', irá registrar apenas mensagens de nível 'INFO', 'WARN', 'WARNING', 'ERROR', 'SEVERE' e 'FATAL'. Além dos níveis acima, também pode ser configurado o nível "'OFF"', nos casos em que nenhuma mensagem deve ser registrada.

Cada configuração de 'logger' está atralada atrelada à um ou mais 'handlers'. Quando esta informação não é configurada na declaração de um 'logger', é considerada a configuração realizada para o 'root-logger', que no caso do fluig possui a configuração abaixo:

Bloco de código
languagexml
themeEclipse
titledomain.xml
<root-logger>
    <level name="INFO"/>
    <handlers>
        <handler name="CONSOLE"/>
        <handler name="FILE"/>
        <handler name="USERLOGGING"/>
    </handlers>
</root-logger>

Neste caso, todos os loggers 'loggers' que não definirem um 'handler'específico, serão processados por estes três três 'handlers: CONSOLE' (caso seja iniciado via script no terminal do sistema operacional), 'FILE' (arquivo server.log) e 'USERLOGGING' (ver aqui).

A configuração de um 'logger' normalmente é feita conforme abaixo:

Bloco de código
languagexml
themeEclipse
titledomain.xml
<logger category="io.undertow.request">
    <level name="FATAL"/>
</logger>
  • O parâmetro 'category' indica o pacote ou nome completo da classe que este 'logger' está configurando.
  • O parâmetro 'level' indica o nível mínimo das mensagens que serão apresentadas para esta categoria (pacote ou classe). Neste caso, as mensagens de log enviadas pelo pacote "pacote 'io.undertow.request" ' serão registradas apenas se forem do nível "'FATAL"'.


Configuração via API

À partir da atualização Water Drop Waterdrop (1.6.4) , também é possível modificar as configurações de log via API, que pode ser acessada no browser navegador através do endereço (ip IP ou hostname e porta) do seu ambiente com o contexto "'/management/swagger-ui/"'. A API de Logs, disponível nesse endereço, permite verificar e alterar configurações de 'handlers' e de 'loggers', incluíndo facilitadores para alterar níveis de log por funcionalidade (alias), sem a necessidade de saber os nomes dos pacotes ou das classes específicas.

Um dos 'alias' disponíveis, por exemplo, é o "'INDEX"'. Ao passar este valor no parâmetro 'category' dos métodos de gerenciamento de 'loggers', serão modificados os níveis de log dos pacotes referentes a indexação na plataforma, sem a necessidade de realizar várias chamadas e nem de conhecer quais são estes pacotes.

A documentação completa da API também encontra-se nesta página (na URL 'http://<endereco_fluig>/management/swagger-ui/)', bem como facilitadores para realizar requisições parametrizadas à partir do browsernavegador.

Nota

Se o ambiente estiver em

...

alta disponibilidade, é necessário realizar

...

os procedimentos acima em cada máquina

...

do cluster.


Configuração via interface de gerenciamento do servidor de aplicação

...

Assista aqui ao vídeo demonstrativo.

Nota

Se o ambiente estiver em

...

alta disponibilidade, é necessário realizar os procedimentos acima em cada máquina

...

do cluster.


Visualizando o

...

log de Debug

Após realizada as configurações, o log pode ser monitorado a partir do arquivo [Instalação fluig]/appserver/domain/servers/fluig1/log/chrono.log.

...