Salida de Serilog a la consola (con datos ToString ()) y seq (con datos estructurados)

Aug 17 2020

Envío mis datos registrados a ambos Consoley Seqsumideros. Funciona genial.

Cuando registro un POCO en:

  • el Consolesumidero, es una línea de texto larga con todas las propiedades y los datos.
  • al Seqlavabo, que está muy bien estructurado de tal manera que es fácil buscar / filtro / etc.

Ahora, ¿hay alguna manera de que cuando enviemos el valor al receptor de la consola, pueda usar el método ToString () del POCO (en lugar de -todas- las propiedades) mientras que Seq es exactamente lo que es ahora?

Solo estoy experimentando en este momento: algunas clases no tienen un ToString () anulado, por lo que eso significa que obtendré el nombre de la clase allí.

es posible?

Respuestas

1 NicholasBlumhardt Aug 18 2020 at 04:45

Serilog captura cada propiedad del evento exactamente una vez y, en ese momento, elige una ToString()representación estructurada.

Solo más tarde en la canalización de registro los eventos llegan a sumideros como Consoley Seq, por lo que no hay forma de que un sumidero individual (o la configuración de un sumidero) influya en cómo se captura un valor de propiedad en particular.