【发布时间】:2017-10-25 21:17:46
【问题描述】:
ASP.NET Core 日志记录具有“日志事件 ID”的概念,
这样我们就可以记录这样的行(来自他们的文档);
_logger.LogInformation(LoggingEvents.GET_ITEM, "Getting item {ID}", id);
Serilog 将此信息 LoggingEvents.GET_ITEM 写入属性列中
<property key='EventId'>
<structure type=''>
<property key='Id'>1002</property>
</structure>
我在数据库的表中添加了一个新列“EventId”,并将这个 ColumnOptions 添加到记录器中
columnOptions.AdditionalDataColumns = new List<DataColumn>
{
new DataColumn {DataType = typeof(byte), ColumnName = "EventId"},
new DataColumn {DataType = typeof(string), ColumnName = "SessionId"}
};
但是 Serilog 不会向数据库写入任何内容。仅当我删除此行时:new DataColumn {DataType = typeof(byte), ColumnName = "EventId"},
Serilog 是否将行写入数据库,但没有 EventId 列。
怎么写事件ID?
【问题讨论】:
标签: c# asp.net-core serilog