Gravando uma Classe Java para o Adaptador Estático

Na criação de um analisador de log estático, os componentes extrator, analisador e formatador do arquivo de configuração do adaptador são substituídos por uma classe Java. A classe de analisador estático deve implementar a interface org.eclipse.hyades.logging.parser.IParser. Isso pode ser feito estendendo uma das classes abstratas org.eclipse.hyades.logging.parser.Parser ou org.eclipse.hyades.logging.parser.MonitoringParser.

Estendendo a Classe Parser

Esta classe deve ser usada quando se estiver criando um analisador estático para analisar arquivos de log que não estão mais sendo atualizados ou para analisar um arquivo de log uma vez durante a execução do contexto. Se esta classe for usada, a Instância do Contexto deve ser configurada com a caixa de opções Operação contínua não selecionada.

  1. Inclua uma instrução de importação import org.eclipse.hyades.logging.parsers.Parser;.
  2. Inclua os seguintes métodos na classe:

Nota: O método protegido Parser.readALine() pode ser usado para ler dados do arquivo de log. Esse método lê uma linha do arquivo de log e emitirá uma exceção se um erro ocorrer quando ele estiver lendo o arquivo. A exceção conterá informações sobre porque a leitura falhou. O método readLine() existente, o qual retorna null se um erro ocorrer, está obsoleto neste release.

Estendendo a Classe MonitoringParser

Esta classe deve ser usada quando for necessário criar um analisador estático que possa monitorar continuamente um arquivo de log. Nota: Esta classe permitirá que um arquivo de log seja monitorado mesmo que o arquivo de log não exista no momento em que o monitoramento for iniciado. A classe abstrata org.eclipse.hyades.logging.parser.MonitoringParser deve ser estendida. Esta classe estende a classe Parser. Implemente os métodos conforme descrito para a classe Parser, mas observe o seguinte:

  1. Inclua uma instrução de importação import org.eclipse.hyades.logging.parser.MonitoringParser.
  2. Se os métodos de Parser a seguir forem substituídos, assegure-se de que os métodos correspondentes da classe super sejam chamados pelos métodos substitutos:
  3. Inclua uma chamada para setEndOfFile() no método parseNext() antes que ele retorne null para indicar que não existem atualmente mais registros analisados para serem retornados. Isto garantirá que, na próxima vez que readALine() for chamado, o arquivo de log seja examinado para determinar se o arquivo foi alterado e tem novos registros para serem analisados.
  4. Se o analisador estático exigir um comando para converter o arquivo de log em um formato mais facilmente analisado ou para gerar o arquivo de log, ele deve ser especificado para a classe MonitoringParser utilizando uma das seguintes chamadas de método depois que setConfiguration() for chamado: setConverterCommand(String) ou setConverterCommand(String[]).
    Se o comando gravar os dados de log em um arquivo com um nome diferente daquele especificado os parâmetros de configuração em setConfiguration(), o novo nome do arquivo de log deve ser especificado para a classe MonitoringParser utilizando o método setFilename(String).

Nota:

  1. O plug-in org.eclipse.hyades.logging.parsers agora tem uma dependência do plug-in org.eclipse.hyades.logging.adapter.
  2. A classe MonitoringParser não fornece acesso direto ao arquivo de log exceto pelo método readALine(). Os analisadores estáticos que usam atualmente o membro logFile da classe Parser para ler dados diretamente do arquivo de log devem ser modificados para usar o método readALine().

Depois de gravar e testar a classe de analisador de Java, você pode configurar o componente sensor do arquivo de configuração do adaptador para referir-se a essa classe .

Conceitos Relacionados
Visão Geral do Adaptador de Log Genérico Hyades
Especificação do Formato Common Base Event

Tarefas Relacionadas
Criando um Analisador de Log
Criando um Adaptador Estático
Configurando o Componente Sensor

Referências Relacionadas
Estrutura do Arquivo de Configuração do Adaptador
Editor de Configuração de Adaptador
Gramática de Expressão Comum