Pular para o conteúdo principal

StructureLogger

Classe principal do pacote. Centraliza a emissão de logs e distribui cada evento para todos os LogSink registrados.

Construtor

StructureLogger()

Cria um logger vazio, sem sinks.

Métodos

log

Future<void> log(
String message, {
LogLevel level = LogLevel.info,
Map<String, dynamic>? data,
})

Emite um evento estruturado.

ParâmetroDescrição
messageMessage template com placeholders {chave}
levelNível do evento (padrão: LogLevel.info)
dataPropriedades vinculadas aos placeholders

Internamente constrói um LogModel e chama write() em cada sink, aguardando cada um em sequência.

addSink

void addSink(LogSink sink)

Registra um sink. Eventos emitidos após o registro serão entregues a ele.

removeSink

void removeSink(LogSink sink)

Remove um sink da lista. Eventos futuros não serão mais entregues a ele.

Exemplo

final logger = StructureLogger();
logger.addSink(SimpleLineSink());

await logger.log(
'Session {sessionId} created',
level: LogLevel.info,
data: {'sessionId': 'abc-123'},
);