我想向Serilog添加動態自定義屬性,但我不知道如何以我想要的方式執行此操作。以下是代碼:Serilog ForContext和自定義屬性
if (data.Exception != null)
{
_logger.ForContext("Exception", data.Exception, true);
}
await Task.Run(() =>
_logger.ForContext("User", _loggedUser.Id)
.Information(ControllerActionsFormat.RequestId_ExecutedAction, data.RequestId, data.ActionName)
);
但是Exception屬性沒有被保留。我曾嘗試:
await Task.Run(() =>
_logger.ForContext("Exception", data.Exception, true)
.ForContext("User", _loggedUser.Id)
.Information(ControllerActionsFormat.RequestId_ExecutedAction, data.RequestId, data.ActionName)
);
,它工作正常,但有時我不得不處理數據之前,我可以用它(如含迭代的方法的參數字典)。我對想法持開放態度。
這是否解決傾銷鍵/值對的字典到記錄器的問題? 順便說一句:愛Serilog,我的大部分摩擦似乎是圍繞着使物業按我想要的方式工作。 :) –
這兩個答案的工作。但我會拿第二個。 – leosbrf