From ea03226b9cb7cef6ecea966436b43425ee5cfb83 Mon Sep 17 00:00:00 2001 From: "Collin M. Barrett" Date: Sat, 1 Sep 2018 15:26:44 -0500 Subject: [PATCH] use di container for logger --- src/FilterLists.Agent/Program.cs | 19 +++++++++---------- .../Extensions/ConfigureServicesCollection.cs | 1 + .../Extensions}/TaskExtensions.cs | 2 +- .../Logger.cs | 10 +++++++--- 4 files changed, 18 insertions(+), 14 deletions(-) rename src/{FilterLists.Agent => FilterLists.Services/Extensions}/TaskExtensions.cs (94%) rename src/{FilterLists.Agent => FilterLists.Services}/Logger.cs (70%) diff --git a/src/FilterLists.Agent/Program.cs b/src/FilterLists.Agent/Program.cs index 0979f05c3..2ca393822 100644 --- a/src/FilterLists.Agent/Program.cs +++ b/src/FilterLists.Agent/Program.cs @@ -1,7 +1,9 @@ using System; using System.IO; using System.Threading.Tasks; +using FilterLists.Services; using FilterLists.Services.DependencyInjection.Extensions; +using FilterLists.Services.Extensions; using FilterLists.Services.Snapshot; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -11,7 +13,6 @@ namespace FilterLists.Agent public static class Program { private const int BatchSize = 1; - private const string AppInsightsKeyConfig = "ApplicationInsights:InstrumentationKey"; private static IConfigurationRoot configRoot; private static ServiceProvider serviceProvider; private static SnapshotService snapshotService; @@ -23,6 +24,7 @@ public static async Task Main() BuildConfigRoot(); BuildServiceProvider(); snapshotService = serviceProvider.GetService(); + logger = serviceProvider.GetService(); await TryCaptureSnapshots(); } @@ -41,16 +43,13 @@ private static void BuildServiceProvider() private static async Task TryCaptureSnapshots() { - using (logger = new Logger(configRoot[AppInsightsKeyConfig])) + try { - try - { - await CaptureSnapshots(BatchSize).TimeoutAfter(Timeout); - } - catch (TimeoutException te) - { - logger.Log(te); - } + await CaptureSnapshots(BatchSize).TimeoutAfter(Timeout); + } + catch (TimeoutException te) + { + logger.Log(te); } } diff --git a/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs b/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs index ee93937d8..e42244baf 100644 --- a/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs +++ b/src/FilterLists.Services/DependencyInjection/Extensions/ConfigureServicesCollection.cs @@ -33,6 +33,7 @@ public static void AddFilterListsAgentServices(this IServiceCollection services, o.UseMySql(config.GetConnectionString("FilterListsConnection"), m => m.MigrationsAssembly("FilterLists.Api"))); services.TryAddScoped(); + services.TryAddScoped(); services.AddAutoMapper(); } } diff --git a/src/FilterLists.Agent/TaskExtensions.cs b/src/FilterLists.Services/Extensions/TaskExtensions.cs similarity index 94% rename from src/FilterLists.Agent/TaskExtensions.cs rename to src/FilterLists.Services/Extensions/TaskExtensions.cs index 7c4067b6f..9e675d7e2 100644 --- a/src/FilterLists.Agent/TaskExtensions.cs +++ b/src/FilterLists.Services/Extensions/TaskExtensions.cs @@ -2,7 +2,7 @@ using System.Threading; using System.Threading.Tasks; -namespace FilterLists.Agent +namespace FilterLists.Services.Extensions { public static class TaskExtensions { diff --git a/src/FilterLists.Agent/Logger.cs b/src/FilterLists.Services/Logger.cs similarity index 70% rename from src/FilterLists.Agent/Logger.cs rename to src/FilterLists.Services/Logger.cs index 29c6d49d8..e73be9c49 100644 --- a/src/FilterLists.Agent/Logger.cs +++ b/src/FilterLists.Services/Logger.cs @@ -1,17 +1,21 @@ using System; using System.Threading; +using JetBrains.Annotations; using Microsoft.ApplicationInsights; using Microsoft.ApplicationInsights.Extensibility; +using Microsoft.Extensions.Configuration; -namespace FilterLists.Agent +namespace FilterLists.Services { + [UsedImplicitly] public class Logger : IDisposable { + private const string AppInsightsKeyConfig = "ApplicationInsights:InstrumentationKey"; private readonly TelemetryClient telemetryClient; - public Logger(string appInsightsKey) + public Logger(IConfiguration config) { - TelemetryConfiguration.Active.InstrumentationKey = appInsightsKey; + TelemetryConfiguration.Active.InstrumentationKey = config[AppInsightsKeyConfig]; telemetryClient = new TelemetryClient(); }