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.
- Inclua uma instrução de importação import org.eclipse.hyades.logging.parsers.Parser;.
- Inclua os seguintes métodos na classe:
- public void setConfiguration(Hashtable)
Este método é chamado pelo Adaptador de Log Genérico para fornecer informações de configuração
para a classe de analisador estático que é especificada pelo usuário no assistente
Importar Arquivo de Log ou é fornecido no arquivo de configuração do adaptador.
- public void preParse()
Este é o local onde o trabalho de inicialização (se aplicável), como
estabelecer conexões, é executado.
- public void parser(Log)
A implementação deste método não é necessária.
Ela pode ser herdada de org.eclipse.hyades.logging.parsers.Parser.
- public ICommonBaseEvent[] parseNext()
Este método executará a maior parte da lógica para analisar o arquivo de log, como
analisar um conjunto de registros e retornar uma matriz de objetos Common Base Event que representam
os dados nesse conjunto de registros.
- public void postParse()
Este é onde quaisquer tarefas de limpeza são executadas.
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:
- Inclua uma instrução de importação import org.eclipse.hyades.logging.parser.MonitoringParser.
- 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:
- setConfiguration()
- readALine()
- postParse()
- 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.
- 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:
- O plug-in org.eclipse.hyades.logging.parsers agora tem uma dependência do plug-in
org.eclipse.hyades.logging.adapter.
- 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
(C) Copyright IBM Corporation 2000, 2005. Todos os Direitos Reservados.