我在我的应用程序中使用Serilog和MS SQL Server sink。假设我已经定义了以下类...
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
XML列中呈现?我希望稍后可以在应用程序日志查看器的详细视图中输出它。
我基本上正在寻找类似于对象解构的行为,但不会将平面对象作为日志消息的一部分打印出来。
Person
的Father属性)?我更关心属性的值而不是ToString()
表示。 - Marius SchulzLog.ForContext("Father", father, destructureObjects: true)
就是这个意思。 - Nicholas Blumhardt