我正在使用Serilog序列化事件,这些事件可以从一系列服务中发送,这些服务扩展了包含任何事件基本信息的基本抽象类,子类添加了所有必需的特定事件信息。
问题是在日志中只存储了子类属性,而忽略了父类属性。有没有办法强制serilog在其序列化中包含基类属性?
我尝试将基类更改为非抽象,并将Destructor.ToMaximumLength设置为10000但仍然没有运气。
public abstract class AnalyticsEvent
{
public readonly Guid EventId = Guid.NewGuid();
public readonly DateTimeOffset EventTime = DateTimeOffset.UtcNow;
public readonly EventGroups EventGroup;
public readonly Guid? TransactionId;
public readonly string EventName;
public AnalyticsEvent(EventGroups eventGroup, Guid? transactionId, string eventName)
{
EventGroup = eventGroup;
TransactionId = transactionId;
EventName = eventName;
}
}
答案 0 :(得分:2)
Serilog的解构只能收拾房产;基类上的成员是字段。将它们转换为属性应该按预期工作。