Skip to main content
Version: v2.3

Telemetry Filters

Installation#

This feature requires to install our NuGet package

PM > Install-Package Arcus.Observability.Telemetry.Serilog.Filters

Telemetry Type Filter#

This Serilog filter allows you to filter out different a specific type of telemetry.

using Arcus.Observability.Telemetry.Core;using Arcus.Observability.Telemetry.Serilog.Filters;using Serilog.Core;using Serilog.Configuration;
ILogger logger = new LoggerConfiguration()    .WriteTo.AzureApplicationInsights("<key>")    .Filter.With(TelemetryTypeFilter.On(TelemetryType.Events))    .CreateLogger();

The filter can also be used to reduce telemetry for multiple types by chaining them:

ILogger logger = new LoggerConfiguration()    .WriteTo.AzureApplicationInsights("<key>")    .Filter.With(TelemetryTypeFilter.On(TelemetryType.Events))    .Filter.With(TelemetryTypeFilter.On(TelemetryType.Dependency))    .CreateLogger();

Alternatively, you can explicitly specify if it should track telemetry or not based on the application configuration has to be tracked or not :

var trackDependencies = configuration["telemetry:dependencies:isEnabled"];ILogger logger = new LoggerConfiguration()    .WriteTo.AzureApplicationInsights("<key>")    .Filter.With(TelemetryTypeFilter.On(TelemetryType.Dependency, isTrackingEnabled: bool.Parse(trackDependencies)))    .CreateLogger();