Serilog keluar ke konsol (dengan data ToString ()) dan seq (dengan data terstruktur)

Aug 17 2020

Saya mengeluarkan data login saya ke keduanya Consoledan Seqsink. Bekerja dengan baik.

Saat saya memasukkan POCO ke:

  • yang Consoletenggelam, itu garis teks panjang dengan semua properti dan data.
  • untuk Seqwastafel, itu baik terstruktur sehingga mudah untuk mencari / filter / etc.

Sekarang, adakah cara agar ketika kita mengeluarkan nilai ke sink Konsol, itu mungkin menggunakan metode ToString () dari POCO (bukan -semua- properti) sementara ke Seq persis seperti itu, sekarang?

Saya hanya bereksperimen sekarang - beberapa kelas tidak memiliki ToString () yang diganti jadi itu berarti saya hanya akan mendapatkan nama kelas di sana.

Apakah ini mungkin?

Jawaban

1 NicholasBlumhardt Aug 18 2020 at 04:45

Serilog menangkap setiap properti acara tepat satu kali, dan pada saat itu memilih salah satu ToString()atau representasi terstruktur.

Hanya nanti dalam pipeline logging peristiwa mencapai sink seperti Consoledan Seq, jadi tidak ada cara bagi sink individual (atau konfigurasi untuk sink) untuk memengaruhi cara pengambilan nilai properti tertentu.