ASP.NET核心日誌記錄具有「記錄事件ID」的這種概念,
,以便我們可以像這樣記錄行(從他們的文檔中);ASP.NET Core中的Serilog - 在其自己的列中記錄EventId
_logger.LogInformation(LoggingEvents.GET_ITEM, "Getting item {ID}", id);
Serilog寫這個inforamtion,LoggingEvents.GET_ITEM,在屬性欄
<property key='EventId'>
<structure type=''>
<property key='Id'>1002</property>
</structure>
我已經在數據庫表中添加了一個新列 '事件ID',並補充此ColumnOptions到記錄器
columnOptions.AdditionalDataColumns = new List<DataColumn>
{
new DataColumn {DataType = typeof(byte), ColumnName = "EventId"},
new DataColumn {DataType = typeof(string), ColumnName = "SessionId"}
};
但是Serilog不會寫任何東西給da tabase。只有當我刪除這行:
new DataColumn {DataType = typeof(byte), ColumnName = "EventId"},
是否Serilog將行寫入數據庫,但沒有EventId列。
如何編寫事件ID?
非常好。謝謝尼古拉斯,並感謝你爲這個偉大的圖書館。 – ashilon