-
Notifications
You must be signed in to change notification settings - Fork 0
Logging
Esta página especifica diretrizes práticas para definição de logs no projeto.
Logs provém visibilidade para o eventos e comportamentos de uma aplicação em execução.
O projeto adota o framework Logback presente no spring-boot-starter-web. Adotamos um framework pois possibilita de configuração, logs levels, diferentes destinosm entre outros benefícios.
Eventos que param a aplicação por completo.
Eventos que não param por completo a aplicação, mas que geram algum tipo de exceção. Devem sempre ser logados.
Eventos que não param por completo a aplicação, mas que deveriam ser informados a equipe de desenvolvimento e sustentação do software.
Eventos importantes para equipe que está mantendo a aplicação em produção e outros ambientes. Exemplos: criação de usuários, rastreamento de comportamento (criar usuários, enviar e-mail, confirmar e-mail).
Informações para desenvolvedores. Em geral não devem estar habilitados em produção.
Informações para desenvolvedores, mas em um nível mais específico/fino que o debug. Em geral não devem estar habilitados em produção.
O log padrão definido em uma aplicação spring é o Info. Para mudar o level podemos alterar o arquivo application.yml
logging:
level:
root: TRACEEssa configuração acaba trazendo os eventos de log de todas as dependências do projeto. Podemos alterar a configuração apenas para o pacote da aplicação, mantendo as dependencias do projeto como Info.
logging:
level:
root: INFO
br:
edu:
ifsp:
spo:
ifspcodelab: ${APP_LOGGING_LEVEL:TRACE}Como estamos usando o Lombok no projeto, não é necessário criar manualmente o log:
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
public class MyClass {
private static final Logger log = LogFactory.getLogger( MyClass.class );
private void myMethod() {
log.info( "This is a info message");
}
}Use a anotação @Slf4j na classe:
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class MyClass {
private void myMethod() {
log.info( "This is a info message");
}
}