Saída Serilog para o console (com dados ToString ()) e seq (com dados estruturados)
Eu envio meus dados registrados para ambos Console
e Seq
coletores. Funciona bem.
Quando eu registro um POCO para:
- o
Console
coletor, é uma longa linha de texto com todas as propriedades e os dados. - para
Seq
afundar, é bem estruturado para ser fácil de pesquisar / filtrar / etc.
Agora, há uma maneira de que, quando enviarmos o valor para o coletor do Console, ele possa usar o método ToString () do POCO (em vez de -todas- as propriedades) enquanto para Seq é exatamente o que é agora?
Estou apenas experimentando agora - algumas classes não têm um ToString () sobrescrito, então isso significa que vou obter o nome da classe lá.
Isso é possível?
Respostas
O Serilog captura cada propriedade do evento exatamente uma vez e, nesse ponto, escolhe uma ToString()
ou uma representação estruturada.
É apenas mais tarde no pipeline de registro que os eventos alcançam coletores como Console
e Seq
, portanto, não há como um coletor individual (ou configuração para um coletor) influenciar como um determinado valor de propriedade é capturado.