31 lines
1,018 B
C#
31 lines
1,018 B
C#
using Autofac;
|
|
|
|
namespace Core.ModuleRegistry
|
|
{
|
|
public class TelemetryModule : Module
|
|
{
|
|
public TelemetryConfig TelemetryConfig { get; set; }
|
|
protected override void Load(ContainerBuilder builder)
|
|
{
|
|
if (TelemetryConfig == null)
|
|
throw new Exceptions.ConfigurationException("TelemetryConfig is missing");
|
|
|
|
var tmc = Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration.CreateDefault();
|
|
tmc.ConnectionString = TelemetryConfig.ConnectionString;
|
|
tmc.TelemetryChannel.DeveloperMode = true;
|
|
|
|
//var r = new Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder(tmc);
|
|
//r.Use(next => new Domain.EventTelemetryEnrichers.EnrichWithMetaTelemetry(next));
|
|
//r.Build();
|
|
|
|
builder.RegisterInstance(tmc);
|
|
builder.RegisterType<Microsoft.ApplicationInsights.TelemetryClient>().InstancePerLifetimeScope();
|
|
}
|
|
}
|
|
|
|
public class TelemetryConfig
|
|
{
|
|
public string InstrumentationKey { get; set; }
|
|
public string ConnectionString { get; set; }
|
|
}
|
|
}
|