Uscita Serilog su console (con dati ToString ()) e seq (con dati strutturati)
Ho inviato i miei dati registrati a entrambi Console
e ai Seq
sink. Funziona alla grande.
Quando registro un POCO su:
- il
Console
sink, è una lunga riga di testo con tutte le proprietà e i dati. - al
Seq
lavandino, è ben strutturato in modo che sia facile per la ricerca / filtro / etc.
Ora, c'è un modo in modo che quando inviamo il valore al sink della console, potrebbe utilizzare il metodo ToString () del POCO (invece di -tutte- le proprietà) mentre per Seq è esattamente quello che è, ora?
Sto solo sperimentando in questo momento: alcune classi non hanno un ToString () sovrascritto, quindi ciò significa che otterrò solo il nome della classe.
È possibile?
Risposte
Serilog acquisisce ciascuna proprietà dell'evento esattamente una volta e, a quel punto, sceglie una ToString()
o una rappresentazione strutturata.
È solo più avanti nella pipeline di registrazione che gli eventi raggiungono sink come Console
e Seq
, quindi non c'è modo per un singolo sink (o configurazione per un sink) di influenzare il modo in cui viene acquisito un particolare valore di proprietà.