Sortie de Serilog vers la console (avec des données ToString ()) et seq (avec des données structurées)
Je produis mes données enregistrées aux deux Console
et aux Seq
puits. Fonctionne très bien.
Lorsque j'enregistre un POCO sur:
- l'
Console
évier, c'est une longue ligne de texte avec toutes les propriétés et les données. - à
Seq
couler, il est bien structuré, il est donc facile de rechercher / filtrer / etc.
Maintenant, y a-t-il un moyen pour que lorsque nous sortons la valeur vers le récepteur de la console, il puisse utiliser la méthode ToString () du POCO (au lieu de -toutes- les propriétés) alors que pour Seq c'est exactement ce que c'est, maintenant?
J'expérimente juste en ce moment - certaines classes n'ont pas de ToString () surchargée, ce qui signifie que j'obtiendrai simplement le nom de la classe.
Est-ce possible?
Réponses
Serilog capture chaque propriété d'événement exactement une fois, et à ce moment-là choisit une ToString()
représentation structurée.
Ce n'est que plus tard dans le pipeline de journalisation que les événements atteignent des puits tels que Console
et Seq
, il n'y a donc aucun moyen pour un récepteur individuel (ou une configuration pour un puits) d'influencer la façon dont une valeur de propriété particulière est capturée.