1
我想知道是否有添加作用域属性到应用洞察一种优雅的方式,类似的东西Serilog
:内创建的每个日志作用域属性应用洞察
var yearEnricher = new PropertyEnricher("Year", year);
using (LogContext.PushProperties(yearEnricher))
{
// ...
}
在前面的例子using
区块将在其上盖印Year
。
我想通了,如何做到这一点时,我想的财产是整个请求管道内出现:
var requestTelemetry = context.Features.Get<RequestTelemetry>();
requestTelemetry?.Properties.Add(propertyName, propertyValue.ToString());
有时候我想在代码中创建一个日志范围不相关的web上下文,因此依靠IHttpContextAccessor
没有任何意义。我承认我可以利用OperationTelemetry
和TelemetryClient.StartOperation
来实现我的目标,但这很麻烦,因为我需要实施一些我不感兴趣的属性(例如Name
,Success
, ...)。
有没有比依赖OperationTelemetry
更好的方法?