Package br.com.archbase.logging
Class StructuredLogger
java.lang.Object
br.com.archbase.logging.StructuredLogger
Logger estruturado com suporte a correlation ID e campos personalizados.
Usa MDC (Mapped Diagnostic Context) do SLF4J para propagar contexto.
Uso:
// Com correlation ID automático
StructuredLogger.info("Processamento iniciado", "userId", "123", "operation", "export");
// Com correlation ID específico
StructuredLogger.withCorrelationId("custom-id").info("Mensagem");
// Com supplier lazy evaluation
StructuredLogger.debug(() -> "Dado: " + expensiveOperation());
// Limpar contexto
StructuredLogger.clear();
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classContexto de logger com correlation ID específico.static classPropriedades de configuração do logging. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidclear()Limpa todos os campos do MDC.static voidRegistra mensagem no nível DEBUG com campos estruturados.static voidRegistra mensagem no nível ERROR com campos estruturados.static voidRegistra mensagem no nível ERROR com exceção.static StringGera um novo correlation ID.static StringObtém o correlation ID atual do MDC.static voidRegistra mensagem no nível INFO com campos estruturados.static voidRegistra mensagem lazy (só executa supplier se nível estiver habilitado).static voidsetCorrelationId(String correlationId) Define o correlation ID no MDC.static voidsetTracingContext(String traceId, String spanId) Define o trace ID e span ID no MDC (para integração com tracing distribuído).static voidRegistra mensagem no nível TRACE com campos estruturados.static voidRegistra mensagem no nível WARN com campos estruturados.withCorrelationId(String correlationId) Cria um contexto com correlation ID específico.Cria um contexto com novo correlation ID gerado automaticamente.
-
Constructor Details
-
StructuredLogger
public StructuredLogger()
-
-
Method Details
-
generateCorrelationId
Gera um novo correlation ID.- Returns:
- Novo correlation ID UUID
-
setCorrelationId
Define o correlation ID no MDC.- Parameters:
correlationId- Correlation ID a ser definido
-
getCorrelationId
Obtém o correlation ID atual do MDC.- Returns:
- Correlation ID atual ou null se não definido
-
setTracingContext
Define o trace ID e span ID no MDC (para integração com tracing distribuído).- Parameters:
traceId- Trace IDspanId- Span ID
-
withCorrelationId
Cria um contexto com correlation ID específico.- Parameters:
correlationId- Correlation ID a ser usado- Returns:
- LoggerContext para encadeamento
-
withNewCorrelationId
Cria um contexto com novo correlation ID gerado automaticamente.- Returns:
- LoggerContext para encadeamento
-
info
Registra mensagem no nível INFO com campos estruturados.- Parameters:
message- Mensagem a ser logadakeysValues- Pares chave-valor para incluir no contexto
-
error
Registra mensagem no nível ERROR com campos estruturados.- Parameters:
message- Mensagem a ser logadakeysValues- Pares chave-valor para incluir no contexto
-
error
Registra mensagem no nível ERROR com exceção.- Parameters:
message- Mensagem a ser logadathrowable- Exceção a ser logadakeysValues- Pares chave-valor para incluir no contexto
-
warn
Registra mensagem no nível WARN com campos estruturados.- Parameters:
message- Mensagem a ser logadakeysValues- Pares chave-valor para incluir no contexto
-
debug
Registra mensagem no nível DEBUG com campos estruturados.- Parameters:
message- Mensagem a ser logadakeysValues- Pares chave-valor para incluir no contexto
-
trace
Registra mensagem no nível TRACE com campos estruturados.- Parameters:
message- Mensagem a ser logadakeysValues- Pares chave-valor para incluir no contexto
-
log
Registra mensagem lazy (só executa supplier se nível estiver habilitado).- Parameters:
level- Nível de log ("info", "warn", "error", "debug", "trace")message- Supplier da mensagem
-
clear
public static void clear()Limpa todos os campos do MDC.
-