10
我在我的應用程序中使用帶有MS SQL Server接收器的Serilog。假設我已經定義了以下類...將自定義屬性添加到Serilog
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public DateTime BirthDate { get; set; }
// ... more properties
}
...並創建一個實例:
var person = new Person
{
FirstName = "John",
LastName = "Doe",
BirthDate = DateTime.UtcNow.AddYears(-25)
};
我已經把以下日誌呼叫在我的代碼:
Log.Information("New user: {FirstName:l} {LastName:l}",
person.FirstName, person.LastName);
是否有可能還記錄BirthDate
屬性而不將其添加到消息模板,以便它在Properties
XM內呈現L列?我想稍後在我的應用程序日誌查看器的詳細信息視圖中輸出它。
我基本上尋找類似於對象解構的行爲,但沒有將平面對象作爲日誌消息的一部分進行打印。
我明白了,這是非常簡單的。該方法是否也允許解構具有複雜類型的對象(如* Person *類型的Father *屬性)?我比'ToString()'表示更感興趣屬性的值。 –
絕對 - Log.ForContext(「父親」,父親,destructureObjects:true)'這樣做。 –
完美!正是我在找什麼。我閱讀手冊,但我必須忽略這一點。謝謝! –