ScadaBR - Biblioteca para debug/trace/LOGs de server scripts?

Bom dia

Recentemente tive que programar um script, um pouco mais complexo, que corre no servidor.

Senti a necessidade de fazer o equivalente a console.log( ) em várias partes do código para ajudar a depurar os erros.

Acabei por fazer um logger básico que escreve num data point, para facilitar a consulta. Escrevia mais alguma info util, como a hora:min:seg.milliseg e “contador” da msg. Era só abrir o detalhe de datapoint para ver o histórico do mesmo, correspondendo cada entrada a uma mensagem loggada por mim no código.

Como fazem este tipo de debug/trace em scripts vossos que correm no servidor? Existe alguma forma standard? E que funcionalidades suportam?

Pesquisei na internet e existem várias bibliotecas populares para log/trace em JavaScript. Alguém usa alguma destas bibliotecas de log em código que corre num server script? Fizeram integração com datapoints do scadaBR? Parece-me interessante, até para poder ser consultada por malta menos técnica. Caso contrário, como se configura para ser usável com o scadaBR?

Obrigado,
António

Olá @scadavm,

Descobri há pouco tempo que é possível usar a própria biblioteca Log4J que já vem pré-instalada no ScadaBR para adicionar linhas de depuração ao arquivo mango.log (tomcat/logs/mango.log).

Um exemplo de código simples de como fazer isso:

// Acesso ao Log4J pré-existente no ScadaBR
var log = org.apache.log4j.Logger.getLogger("br.org.scadabr.rt.scripting.ScriptRT");

// Escrevendo linhas de log no arquivo mango.log
log.info("Log do meu código");
log.info("A variável x vale " + true + " nesse trecho...");
log.info("Blablabla");

Obs.: Não sei se no Scada-LTS esse recurso fica habilitado por padrão, pois o LTS possui algumas restrições de segurança adicionais para a execução das classes Java nos scripts.

1 curtida