本文整理匯總了C#中Serilog.Events.LogEvent.ToDefaultTraceTelemetry方法的典型用法代碼示例。如果您正苦於以下問題:C# LogEvent.ToDefaultTraceTelemetry方法的具體用法?C# LogEvent.ToDefaultTraceTelemetry怎麽用?C# LogEvent.ToDefaultTraceTelemetry使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Serilog.Events.LogEvent
的用法示例。
在下文中一共展示了LogEvent.ToDefaultTraceTelemetry方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的C#代碼示例。
示例1: ConvertLogEventsToCustomTraceTelemetry
/// <summary>
/// Converts Serilog traces/exceptions to application insights traces/exceptions.
/// </summary>
private static ITelemetry ConvertLogEventsToCustomTraceTelemetry(
LogEvent logEvent,
IFormatProvider formatProvider,
Func<LogEvent, bool> includeLogEvent)
{
if (logEvent.Exception == null && includeLogEvent != null && !includeLogEvent(logEvent))
{
return null;
}
// first create a default TraceTelemetry using the sink's default logic
// .. but without the log level, and (rendered) message (template) included in the Properties
ITelemetry telemetry = logEvent.Exception == null
? (ITelemetry)logEvent.ToDefaultTraceTelemetry(
formatProvider,
includeLogLevelAsProperty: false,
includeRenderedMessageAsProperty: false,
includeMessageTemplateAsProperty: false)
: (ITelemetry)logEvent.ToDefaultExceptionTelemetry(
formatProvider,
includeLogLevelAsProperty: false,
includeRenderedMessageAsProperty: false,
includeMessageTemplateAsProperty: false);
// and remove RequestId from the telemetry properties
if (logEvent.Properties.ContainsKey("RequestId"))
{
((ISupportProperties)telemetry).Properties.Remove("RequestId");
}
if (logEvent.Properties.ContainsKey("OperationId"))
{
var operationId = logEvent.Properties["OperationId"].ToString();
((ISupportProperties)telemetry).Properties.Remove("OperationId");
telemetry.Context.Operation.Id = operationId;
}
return telemetry;
}