public void MaximumDestructuringDepthIsEffective()
{
var x = new
{
A = new
{
B = new
{
C = new
{
D = "F"
}
}
}
};
LogEvent evt = null;
var log = new LoggerConfiguration()
.WriteTo.Sink(new DelegatingSink(e => evt = e))
.Destructure.ToMaximumDepth(3)
.CreateLogger();
log.Information("{@X}", x);
var xs = evt.Properties["X"].ToString();
Assert.Contains("C", xs);
Assert.DoesNotContain(xs, "D");
}