Вывод Serilog на консоль (с данными ToString ()) и seq (со структурированными данными)
Я отправляю свои зарегистрированные данные в оба Console
и в Seq
стоки. Работает отлично.
Когда я регистрирую POCO, чтобы:
Console
раковина, это длинная строка текста со всеми свойствами и данными.- чтобы
Seq
тонуть, он хорошо структурирован, поэтому его легко искать / фильтровать / и т. д.
Теперь, есть ли способ, чтобы при выводе значения в приемник консоли он мог использовать метод ToString () POCO (вместо -all- свойств), в то время как для Seq это именно то, что сейчас?
Я просто экспериментирую прямо сейчас - некоторые классы не имеют переопределенного ToString (), так что это означает, что я просто получу имя класса там.
Это возможно?
Ответы
Serilog фиксирует каждое свойство события ровно один раз и в этот момент выбирает либо ToString()
структурированное представление, либо.
Только позже в конвейере регистрации события достигают таких приемников, как Console
и Seq
, поэтому отдельный приемник (или конфигурация приемника) не может повлиять на способ захвата определенного значения свойства.