Advertisement

Serilog中的结构化数据深入解析

阅读量:

serilog默认采用json格式来存储数据。
此前提及 serilog仅对基础、本源的数据类型实现自动生成功能。

复制代码
    var count = 456;
    Log.Information("Retrieved {Count} records", count);

其表现形式是{ “Count”: 456 }

Boolean 值(布尔值)
数值类型包括 byte、short 等
字符串类型包括 string 类型以及 byte 数组
时间相关类型包括 DateTime、DateTimeOffset 和 TimeSpan
其他特殊类型有 Guid 和 Uri
针对上述数值、字符串和时间类型的可选(null允许)版本

复制代码
    var fruit = new[] { "Apple", "Pear", "Orange" };
    Log.Information("In my bowl I have {Fruit}", fruit);

表现形式是 { “Fruit”: [“Apple”, “Pear”, “Orange”] }

包括字典,如果key值是以上列表组成的话。

但是复杂的object,serilog无法智能识别判断,它会转换成tostring

在实际应用中,在将日志事件属性序列化为结构化对象时就有其意

全部评论 (0)

还没有任何评论哟~