Logging
O pacote logging é inicializado por colibri.InitializeApp() e usa log/slog.
Registrar uma mensagem
package users
import (
"context"
"github.com/colibriproject-dev/colibri-sdk-go/pkg/base/logging"
)
func Create(ctx context.Context, userID string) {
logging.
Info(ctx).
AddParam("userId", userID).
Msg("user created")
}
Estão disponíveis Debug, Info, Warn, Error e Fatal. Fatal(...).Msg(...) registra a mensagem e executa panic; use apenas quando a aplicação não puder continuar.
Para anexar um erro:
logging.Error(ctx).Err(err).Msg("could not create user")
Nível e formato
Configure LOG_LEVEL com debug, info, warn, warning ou error. O padrão é info.
developmentetest: saída texto;sandboxeproduction: saída JSON.
Correlation ID
ctx = logging.InjectCorrelationIDInContext(ctx, requestID)
logging.Info(ctx).Msg("processing request")
As chamadas seguintes que recebem esse contexto incluem automaticamente o campo correlationId.
dica
Não registre tokens, senhas, documentos ou payloads com dados pessoais. Prefira identificadores técnicos que permitam localizar a operação.