using CustomHostingDemo.Logging; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.Logging; using Ninject; using System; using System.IO; using System.Reflection; namespace CustomHostingDemo { class Program { static void Main(string[] args) { var kernel = new StandardKernel(); var config = new ConfigurationBuilder() .SetBasePath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: false) .Build(); kernel.Bind().ToConstant(config).InSingletonScope(); kernel.Bind().To().InSingletonScope(); kernel.Bind(typeof(Logger<>)).ToSelf().InSingletonScope(); kernel.Bind().To().InSingletonScope(); Console.WriteLine($"Hello {config["Hello"]}"); var logger = kernel.Get>(); logger.LogInformation("Informational Message"); logger.LogWarning("Ooopsie!"); } } }