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 3 years ago

Logs


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.