Serilog xuất ra bảng điều khiển (với dữ liệu ToString ()) và seq (với dữ liệu có cấu trúc)
Tôi xuất dữ liệu đã ghi của mình sang cả hai Consolevà bị Seqchìm. Hoạt động tuyệt vời.
Khi tôi đăng nhập một POCO vào:
- các
Consolebồn rửa, nó là một dòng văn bản dài với tất cả các thuộc tính và dữ liệu. - đến
Seqbồn rửa, nó độc đáo cấu trúc nên rất dễ dàng để tìm kiếm / lọc / etc.
Bây giờ, có cách nào để khi chúng ta xuất giá trị vào Console chìm, nó có thể sử dụng phương thức ToString () của POCO (thay vì -all- các thuộc tính) trong khi đối với Seq, nó chính xác là như thế nào?
Tôi chỉ đang thử nghiệm ngay bây giờ - một số lớp không có ToString () được ghi đè, điều đó có nghĩa là tôi sẽ chỉ lấy tên lớp ở đó.
Điều này có khả thi không?
Trả lời
Serilog nắm bắt từng thuộc tính sự kiện chính xác một lần và tại thời điểm đó chọn một trong hai ToString()hoặc biểu diễn có cấu trúc.
Chỉ sau này trong quy trình ghi nhật ký, các sự kiện tiếp cận mới chìm như thế Consolevà Seq, vì vậy không có cách nào để một phần chìm riêng lẻ (hoặc cấu hình cho một phần chìm) ảnh hưởng đến cách một giá trị thuộc tính cụ thể được ghi lại.