Serilog在事件序列化

时间:2016-06-22 21:54:04

标签: c# serilog

我正在使用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;
    }
}

1 个答案:

答案 0 :(得分:2)

Serilog的解构只能收拾房产;基类上的成员是字段。将它们转换为属性应该按预期工作。