Logs
Ao desenvolver sua aplicação, você tem acesso aos logs através de uma API (/logs). Em um ambiente produtivo você pode obter os logs através das configurações do seu ambiente (Settings).
Criar um bom fluxo de logs é a melhor forma de depurar a sua aplicação em um ambiente de scripts.
** Faça bom uso dos coringas "{}" e produza mensagens com informações relevantes para depuração.
O código ...
O objeto "logging" está disponível em qualquer escopo de scripts.
require("inpaas.core.log") está descontinuado!
A biblioteca "inpaas.core.log" ainda está disponível mas não deve ser usada em novos desenvolvimentos.
Através do objeto logging, você tem acesso a biblioteca de logs e pode enviar mensagens que ficarão gravadas nos logs de aplicação.
logging.info("Minha mensagem!");
var additionalData = "José";
var messageTo = "Maria";
logging.info("Uma mensagem de {} para {}", additionalData, messageTo);
// Produzirá o log:
// Uma mensagem de José para Maria
// ou ...
try {
// lógica de negócio ...
} catch(e) {
// isso guardará o nome da sua função, mais informações sobre o erro e a stack trace.
logging.error("myFunctionName: {}", e.message || e, e);
}
Evite a sintaxe abaixo:
/* DO NOT USE THIS SYNTAX */
try {
// some business logic ...
} catch(e) {
logging.error(e); // missing message argument.
// the correct syntax is as follows:
// logging.error("myFunctionName: {}", e.message || e, e);
}
Essa sintaxe não vai gravar a sua exceção corretamente e o stack trace não será obtido. O primeiro argumento deve ser sempre a mensagem.
** Faça bom uso dos coringas "{}" e produza mensagens com informações relevantes para depuração.
Nível de Log
Você pode gravar mensagens em diferentes níveis:
- INFO
- WARN
- ERROR
Use o método correto para cada nível:
logging.info("My message of {} to {}", additionalData, messageTo);
// or
logging.warn("My warning of {} to {}", additionalData, messageTo);
Isso irá ajudá-lo a identificar mais facilmente problemas em produção.
Use ERROR apenas para exceções
Nunca use o nível "ERROR" para gravar informações de negócio. Além de dificultar a depuração de problemas, isso pode gerar um risco de segurança das informações.
Use WARN para avisos
Use o nível "WARN" para gravar avisos importantes, ou informações relevantes que possam ser causadoras de uma exceção.
Use INFO para informações
Para facilitar o desenvolvimento, pode ser necessário guardar informações de negócio nos logs. Uso o nível INFO para isso. Em ambientes produtivos, o nível INFO deverá estar desligado, evitando assim, riscos de segurança da informação.
Updated almost 5 years ago