Logger de mensagens de facial
O plugin Logger de mensagens de facial (faciallogger) registra em arquivo de log as mensagens trocadas entre o ACCELERO e o gateway facial durante o cadastro e a remoção de templates faciais. Ele existe exclusivamente para diagnóstico técnico do fluxo de comunicação com os dispositivos de reconhecimento facial.
Este plugin é uma ferramenta interna de debug, sem interface de usuário, telas de configuração ou itens de menu. Ele apenas escreve um arquivo de log no servidor. Deve ser instalado pela equipe técnica da IONGRADE quando há necessidade de investigar problemas no envio de templates faciais — e desinstalado depois. Não é um recurso voltado ao cliente final.
Disponibilizado como plugin (faciallogger), instalado e habilitado pela equipe técnica da IONGRADE. Por ser uma ferramenta de diagnóstico, normalmente é ativado de forma temporária durante uma investigação.
Versão atual do plugin: 0.0.2 — compatível com ACCELERO 2.16.0, 2.16.1 e 2.16.2.
O que o plugin faz
Quando instalado e ativo, o plugin sobe um processo de segundo plano (long-running) que escuta o barramento de mensagens MQTT do ACCELERO e grava em log cada mensagem relacionada a templates faciais. Nenhuma ação do operador é necessária — o registro acontece automaticamente em segundo plano.
| Funcionalidade | O que acontece no ACCELERO |
|---|---|
| Log de comandos enviados | Cada comando de cadastro/remoção de template facial enviado ao gateway é registrado, com o tipo do comando, a pessoa e o dispositivo de destino |
| Log de respostas recebidas | Cada resposta do gateway é registrada, com o tipo, o identificador da mensagem e o status retornado |
Permite à equipe técnica correlacionar comandos enviados e respostas recebidas pelo identificador da mensagem (msgID), facilitando o diagnóstico de falhas no cadastro ou na remoção de templates faciais em dispositivos.
Como funciona
O plugin registra um processo de longa duração chamado facial_messages_logger, iniciado junto com o subsistema de processamento assíncrono do ACCELERO (evento async_processor_startup).
Esse processo conecta-se ao broker MQTT como cliente facial_logger e assina dois padrões de tópico:
| Tópico assinado | Direção | Conteúdo |
|---|---|---|
+/+/+/messages | Saída (ACCELERO → gateway) | Comandos de cadastro/remoção de template |
+/+/+/response | Entrada (gateway → ACCELERO) | Respostas do gateway aos comandos |
Para cada mensagem recebida, o plugin identifica o tipo do comando (campo command ou cmd do payload) e grava uma entrada no log:
- Mensagens de saída (
messages) — para cada par dispositivo/mensagem, registra um eventoCommandcom o tipo do comando, o ID da pessoa (pesID), o ID da mensagem (msgID) e o ID do dispositivo (deviceID). - Mensagens de entrada (
response) — registra um eventoResponsecom o tipo, o ID da mensagem (msgID) e ostatusretornado pelo gateway.
Mensagens cujo payload não seja um JSON válido, ou que não contenham um tipo de comando, são ignoradas.
Arquivo de log
O plugin grava as entradas no arquivo de log do ACCELERO facial_logger.log.json, no nível Debug (canal facial_logger). É nesse arquivo que a equipe técnica consulta o histórico de comandos e respostas para investigação.
| Evento | Campos registrados |
|---|---|
| Command (saída) | type, pesID, msgID, deviceID |
| Response (entrada) | type, msgID, status |
Exemplo de trecho do arquivo facial_logger.log.json mostrando um evento Command (saída) e o respectivo evento Response (entrada) correlacionados pelo mesmo msgID.
Por gravar todas as mensagens de templates faciais em nível Debug, o arquivo pode crescer rapidamente em ambientes com muitos dispositivos ou cadastros. Mantenha o plugin ativo apenas durante a investigação e desinstale-o ao concluir.
Instalação e remoção
A instalação e a remoção do plugin reiniciam os serviços do ACCELERO (Accelero::restartServices()) para que o processo de logging seja iniciado ou encerrado.
- Instalação — após instalar, os serviços são reiniciados e o processo
facial_messages_loggerpassa a registrar as mensagens. - Remoção — ao desinstalar, os serviços são reiniciados novamente e o logging é interrompido.
O plugin não possui tela de configuração, campos adicionais nas entidades nem itens de menu. Seu comportamento é fixo: assinar os tópicos MQTT e gravar o log.
Casos de uso
Investigar falha no cadastro de template facial
- Solicitar à IONGRADE a instalação do plugin
faciallogger. - Reproduzir o cadastro do template facial da pessoa no dispositivo afetado.
- Consultar o arquivo
facial_logger.log.jsone localizar o evento Command correspondente (pelopesIDedeviceID). - Verificar se existe um evento Response com o mesmo
msgIDe qual ostatusretornado pelo gateway. - Após a investigação, solicitar a remoção do plugin.
Boas práticas
- Uso temporário: ative o plugin apenas durante a investigação e remova-o ao concluir, para evitar crescimento desnecessário do log.
- Compatibilidade de versão: confirme que a versão do ACCELERO está entre 2.16.0 e 2.16.2 antes de instalar.
- Correlação por
msgID: use omsgIDpara parear comando e resposta ao analisar o log.
Troubleshooting
O arquivo de log não é gerado
Possíveis causas:
- Plugin não instalado ou serviços não reiniciados após a instalação.
- Nenhuma mensagem de template facial foi trocada desde a ativação.
- Processo assíncrono do ACCELERO não está em execução.
Solução:
- Confirme com a IONGRADE que o plugin está instalado e que os serviços foram reiniciados.
- Reproduza um cadastro ou remoção de template facial para gerar tráfego.
- Verifique se o subsistema de processamento assíncrono do ACCELERO está ativo.
Comandos aparecem no log, mas sem resposta correspondente
Possíveis causas:
- O gateway facial não respondeu ao comando.
- Falha de comunicação MQTT entre o gateway e o ACCELERO.
Solução:
- Localize o
msgIDdo evento Command sem Response correspondente. - Verifique a conectividade e o estado do gateway facial.
- Encaminhe os
msgIDafetados ao suporte IONGRADE.
Integração com outros módulos
O plugin observa as mensagens trocadas com os dispositivos de reconhecimento facial vinculados aos controladores. Ele não altera o fluxo de cadastro/remoção de templates — apenas o registra para diagnóstico. Cada comando é associado a uma pessoa pelo campo pesID, permitindo rastrear o envio de templates de um cadastro específico.
A lógica de negócio que dispara a remoção de templates faciais está descrita em Baixa de templates faciais.
Próximos Passos
- Baixa de templates faciais — Lógica que dispara o envio/remoção de templates faciais aos dispositivos