From b766813b60034c4938c31042a651aaaf6658604d Mon Sep 17 00:00:00 2001 From: Daniel-I-Am Date: Tue, 4 Aug 2020 23:40:00 +0200 Subject: [PATCH] Remove dependency injector --- ChaosBot/Attribute/AssemblyController.cs | 2 +- ChaosBot/Database/Controller.cs | 2 +- .../Repository/ConfigurationRepository.cs | 2 +- ChaosBot/Dependency.cs | 29 ------------------- ChaosBot/Discord/DiscordConnect.cs | 2 +- ChaosBot/Discord/Modules/AdminCommands.cs | 2 +- ChaosBot/Discord/Modules/ConfigCommands.cs | 2 +- ChaosBot/Discord/Modules/DiceCommands.cs | 2 +- ChaosBot/Discord/Modules/InfoCommands.cs | 2 +- ChaosBot/Discord/Modules/LodestoneCommands.cs | 2 +- ChaosBot/Discord/Modules/PointsCommands.cs | 2 +- ChaosBot/Discord/Modules/RaffleSystem.cs | 2 +- .../Discord/PreConditions/CheckCommandPerm.cs | 2 +- ChaosBot/Discord/Services/CommandHandler.cs | 2 +- ChaosBot/Discord/Services/TimerHandler.cs | 2 +- ChaosBot/Program.cs | 17 ++++------- ChaosBot/Services/LodestoneHttpProxy.cs | 2 +- .../App/Controller/ConfigurationController.cs | 2 +- ChaosBot/WebServer/Startup.cs | 2 +- 19 files changed, 23 insertions(+), 57 deletions(-) delete mode 100644 ChaosBot/Dependency.cs diff --git a/ChaosBot/Attribute/AssemblyController.cs b/ChaosBot/Attribute/AssemblyController.cs index 8e6c5b8..3565c69 100644 --- a/ChaosBot/Attribute/AssemblyController.cs +++ b/ChaosBot/Attribute/AssemblyController.cs @@ -10,7 +10,7 @@ namespace ChaosBot.Attribute { public static class AssemblyController { - private static ILogger _logger = Dependency.GetInstance(); + private static ILogger _logger = Program.Logger; public static void RegisterAll() { Assembly dbEntityAssembly = Assembly.GetAssembly(typeof(DBEntity)); diff --git a/ChaosBot/Database/Controller.cs b/ChaosBot/Database/Controller.cs index 62716ef..1a8c9ed 100644 --- a/ChaosBot/Database/Controller.cs +++ b/ChaosBot/Database/Controller.cs @@ -13,7 +13,7 @@ namespace ChaosBot.Database public static class Controller { static SqliteConnection _conn = new SqliteConnection($"Data Source={System.IO.Directory.GetCurrentDirectory()}/{ConfigurationRepository.GetValue("Bot:Database")}"); - private static ILogger _logger = Dependency.GetInstance(); + private static ILogger _logger = Program.Logger; /// /// Run a raw query on the database diff --git a/ChaosBot/Database/Repository/ConfigurationRepository.cs b/ChaosBot/Database/Repository/ConfigurationRepository.cs index 89aae34..3560549 100644 --- a/ChaosBot/Database/Repository/ConfigurationRepository.cs +++ b/ChaosBot/Database/Repository/ConfigurationRepository.cs @@ -9,7 +9,7 @@ namespace ChaosBot.Database.Repository { public static class ConfigurationRepository { - private static ILogger _logger = Dependency.GetInstance(); + private static ILogger _logger = Program.Logger; public static IConfiguration AppSettingsHandler { get; set; } private static readonly string ServersTable = "ServerConfigurationFlags"; diff --git a/ChaosBot/Dependency.cs b/ChaosBot/Dependency.cs deleted file mode 100644 index 8eae4e8..0000000 --- a/ChaosBot/Dependency.cs +++ /dev/null @@ -1,29 +0,0 @@ -using System; -using System.Collections.Generic; -using Microsoft.Extensions.Configuration; -using NLog; - -namespace ChaosBot -{ - public static class Dependency - { - private static Dictionary InstanceList; - - public static void Initialize(IConfiguration appSettingsHandler) - { - InstanceList = new Dictionary - { - {typeof(ILogger), Logging.GenLog(appSettingsHandler)} - }; - } - - public static T GetInstance() - { - if (InstanceList.TryGetValue(typeof(T), out object obj)) - { - return (T) obj; - } - throw new KeyNotFoundException($"Could not find dependency of type {typeof(T)}"); - } - } -} \ No newline at end of file diff --git a/ChaosBot/Discord/DiscordConnect.cs b/ChaosBot/Discord/DiscordConnect.cs index 1b6913c..91ef6da 100644 --- a/ChaosBot/Discord/DiscordConnect.cs +++ b/ChaosBot/Discord/DiscordConnect.cs @@ -15,7 +15,7 @@ namespace ChaosBot.Discord public class DiscordConnect { private static DiscordSocketClient _client; - private static ILogger _logger = Dependency.GetInstance(); + private static ILogger _logger = Program.Logger; public static async Task StartUp() { diff --git a/ChaosBot/Discord/Modules/AdminCommands.cs b/ChaosBot/Discord/Modules/AdminCommands.cs index ae2e0bb..a2880eb 100644 --- a/ChaosBot/Discord/Modules/AdminCommands.cs +++ b/ChaosBot/Discord/Modules/AdminCommands.cs @@ -11,7 +11,7 @@ namespace ChaosBot.Discord.Modules { public class AdminCommands : ModuleBase { - private static readonly ILogger _logger = Dependency.GetInstance(); + private static readonly ILogger _logger = Program.Logger; [Command("clear")] diff --git a/ChaosBot/Discord/Modules/ConfigCommands.cs b/ChaosBot/Discord/Modules/ConfigCommands.cs index aeab70d..4c1c4e1 100644 --- a/ChaosBot/Discord/Modules/ConfigCommands.cs +++ b/ChaosBot/Discord/Modules/ConfigCommands.cs @@ -11,7 +11,7 @@ namespace ChaosBot.Discord.Modules { public class ConfigCommands : ModuleBase { - private static readonly ILogger _logger = Dependency.GetInstance(); + private static readonly ILogger _logger = Program.Logger; private static readonly string _prefix = ConfigurationRepository.GetValue("Discord:Prefix"); [Command("config")] diff --git a/ChaosBot/Discord/Modules/DiceCommands.cs b/ChaosBot/Discord/Modules/DiceCommands.cs index 55f967a..6bcf735 100644 --- a/ChaosBot/Discord/Modules/DiceCommands.cs +++ b/ChaosBot/Discord/Modules/DiceCommands.cs @@ -12,7 +12,7 @@ namespace ChaosBot.Discord.Modules { public class DiceCommands : ModuleBase { - private static ILogger _logger = Dependency.GetInstance(); + private static ILogger _logger = Program.Logger; [Command("roll")] public async Task Roll(params string[] args) diff --git a/ChaosBot/Discord/Modules/InfoCommands.cs b/ChaosBot/Discord/Modules/InfoCommands.cs index 969b891..71989a2 100644 --- a/ChaosBot/Discord/Modules/InfoCommands.cs +++ b/ChaosBot/Discord/Modules/InfoCommands.cs @@ -12,7 +12,7 @@ namespace ChaosBot.Discord.Modules { public class InfoCommands : ModuleBase { - private static readonly ILogger _logger = Dependency.GetInstance(); + private static readonly ILogger _logger = Program.Logger; [Command("info")] diff --git a/ChaosBot/Discord/Modules/LodestoneCommands.cs b/ChaosBot/Discord/Modules/LodestoneCommands.cs index 166dd34..db83863 100644 --- a/ChaosBot/Discord/Modules/LodestoneCommands.cs +++ b/ChaosBot/Discord/Modules/LodestoneCommands.cs @@ -17,7 +17,7 @@ namespace ChaosBot.Discord.Modules { public class LodestoneCommands : ModuleBase { - private static readonly ILogger _logger = Dependency.GetInstance(); + private static readonly ILogger _logger = Program.Logger; [Command("lodestone character")] diff --git a/ChaosBot/Discord/Modules/PointsCommands.cs b/ChaosBot/Discord/Modules/PointsCommands.cs index 963cc87..707e250 100644 --- a/ChaosBot/Discord/Modules/PointsCommands.cs +++ b/ChaosBot/Discord/Modules/PointsCommands.cs @@ -15,7 +15,7 @@ namespace ChaosBot.Discord.Modules { public class PointsCommands : ModuleBase { - private static ILogger _logger = Dependency.GetInstance(); + private static ILogger _logger = Program.Logger; [Command("points help")] public async Task PointsCommandInfo() diff --git a/ChaosBot/Discord/Modules/RaffleSystem.cs b/ChaosBot/Discord/Modules/RaffleSystem.cs index da519c3..86d1dcc 100644 --- a/ChaosBot/Discord/Modules/RaffleSystem.cs +++ b/ChaosBot/Discord/Modules/RaffleSystem.cs @@ -13,7 +13,7 @@ namespace ChaosBot.Discord.Modules public class RaffleSystem : ModuleBase { - private static ILogger _logger = Dependency.GetInstance(); + private static ILogger _logger = Program.Logger; [Command("raffle")] public async Task RaffleStatus() diff --git a/ChaosBot/Discord/PreConditions/CheckCommandPerm.cs b/ChaosBot/Discord/PreConditions/CheckCommandPerm.cs index e69b870..0b29203 100644 --- a/ChaosBot/Discord/PreConditions/CheckCommandPerm.cs +++ b/ChaosBot/Discord/PreConditions/CheckCommandPerm.cs @@ -10,7 +10,7 @@ namespace ChaosBot.Discord.PreConditions { public class CheckCommandPerm : PreconditionAttribute { - private static ILogger _logger = Dependency.GetInstance(); + private static ILogger _logger = Program.Logger; public override Task CheckPermissionsAsync(ICommandContext context, CommandInfo command, IServiceProvider services) { diff --git a/ChaosBot/Discord/Services/CommandHandler.cs b/ChaosBot/Discord/Services/CommandHandler.cs index 3aa43d6..761418c 100644 --- a/ChaosBot/Discord/Services/CommandHandler.cs +++ b/ChaosBot/Discord/Services/CommandHandler.cs @@ -16,7 +16,7 @@ namespace ChaosBot.Discord.Services private readonly CommandService _commands; private readonly DiscordSocketClient _client; private readonly IServiceProvider _services; - private readonly ILogger _logger = Dependency.GetInstance(); + private readonly ILogger _logger = Program.Logger; public CommandHandler(IServiceProvider services) { diff --git a/ChaosBot/Discord/Services/TimerHandler.cs b/ChaosBot/Discord/Services/TimerHandler.cs index 30a4629..f16ee99 100644 --- a/ChaosBot/Discord/Services/TimerHandler.cs +++ b/ChaosBot/Discord/Services/TimerHandler.cs @@ -12,7 +12,7 @@ namespace ChaosBot.Discord.Services { public static class TimerHandler { - private static readonly ILogger _logger = Dependency.GetInstance(); + private static readonly ILogger _logger = Program.Logger; private static DiscordSocketClient _client; public static void Initialize(IServiceProvider services) diff --git a/ChaosBot/Program.cs b/ChaosBot/Program.cs index 2b049e7..9cc7e48 100644 --- a/ChaosBot/Program.cs +++ b/ChaosBot/Program.cs @@ -12,7 +12,7 @@ namespace ChaosBot { internal class Program { - private ILogger _logger; + public static ILogger Logger; private static string _appsettingsPath; private static void Main(string[] args) @@ -29,21 +29,16 @@ namespace ChaosBot * Load configuration from AppSettings.Json and save as Cfg */ IConfiguration configurationHandler = LoadConfiguration(_appsettingsPath); - + /* - * Initialize dependency injector + * Initialize the _logger for logging purposes */ - Dependency.Initialize(configurationHandler); + Logger = Logging.GenLog(configurationHandler); /* * Set AppSettingsHandler on ConfigurationRepository */ ConfigurationRepository.AppSettingsHandler = configurationHandler; - - /* - * Initialize the _logger for logging purposes - */ - _logger = Dependency.GetInstance(); /* * Attempt to load our custom assemblies @@ -53,7 +48,7 @@ namespace ChaosBot /* * Initialize the Discord Client and Login */ - _logger.Info($"Starting Up {ConfigurationRepository.GetValue("Bot:Name")} v{ConfigurationRepository.GetValue("Bot:Version")}"); + Logger.Info($"Starting Up {ConfigurationRepository.GetValue("Bot:Name")} v{ConfigurationRepository.GetValue("Bot:Version")}"); var discordBot = LoadDiscord(); @@ -62,7 +57,7 @@ namespace ChaosBot } catch (Exception ex) { - _logger.Error(ex, $"Program.MainFunction: Exception [{ex}] thrown, <[{ex.Message}]>."); + Logger.Error(ex, $"Program.MainFunction: Exception [{ex}] thrown, <[{ex.Message}]>."); } } diff --git a/ChaosBot/Services/LodestoneHttpProxy.cs b/ChaosBot/Services/LodestoneHttpProxy.cs index bdd9291..a6ca5fd 100644 --- a/ChaosBot/Services/LodestoneHttpProxy.cs +++ b/ChaosBot/Services/LodestoneHttpProxy.cs @@ -29,7 +29,7 @@ namespace ChaosBot.Services static class LodestoneHttpConnection { - private static readonly ILogger _logger = Dependency.GetInstance(); + private static readonly ILogger _logger = Program.Logger; static HttpClient client = new HttpClient(); private static bool _firstRun = true; diff --git a/ChaosBot/WebServer/App/Controller/ConfigurationController.cs b/ChaosBot/WebServer/App/Controller/ConfigurationController.cs index 68378c5..26271b2 100644 --- a/ChaosBot/WebServer/App/Controller/ConfigurationController.cs +++ b/ChaosBot/WebServer/App/Controller/ConfigurationController.cs @@ -9,7 +9,7 @@ namespace ChaosBot.WebServer.App.Controller [Route("/config/{guildId}/{flag}")] public class ConfigurationController { - private readonly ILogger _logger = Dependency.GetInstance(); + private readonly ILogger _logger = Program.Logger; [HttpGet] public string GetConfigurationFlag(long guildId, string flag) diff --git a/ChaosBot/WebServer/Startup.cs b/ChaosBot/WebServer/Startup.cs index 207a668..626847d 100644 --- a/ChaosBot/WebServer/Startup.cs +++ b/ChaosBot/WebServer/Startup.cs @@ -10,7 +10,7 @@ namespace ChaosBot.WebServer { class Startup { - private readonly ILogger _logger = Dependency.GetInstance(); + private readonly ILogger _logger = Program.Logger; public IConfiguration Configuration { get; }