本文整理汇总了C#中Serilog.Events.LogEvent.ToDefaultExceptionTelemetry方法的典型用法代码示例。如果您正苦于以下问题:C# LogEvent.ToDefaultExceptionTelemetry方法的具体用法?C# LogEvent.ToDefaultExceptionTelemetry怎么用?C# LogEvent.ToDefaultExceptionTelemetry使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Serilog.Events.LogEvent
的用法示例。
在下文中一共展示了LogEvent.ToDefaultExceptionTelemetry方法的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;
}