| 12345678910111213141516171819202122232425262728293031323334 |
- 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<IConfiguration>().ToConstant(config).InSingletonScope();
- kernel.Bind<ILoggerFactory>().To<LoggerFactory>().InSingletonScope();
- kernel.Bind(typeof(Logger<>)).ToSelf().InSingletonScope();
- kernel.Bind<ILoggerProvider>().To<LoggerProvider>().InSingletonScope();
- Console.WriteLine($"Hello {config["Hello"]}");
- var logger = kernel.Get<Logger<Program>>();
- logger.LogInformation("Informational Message");
- logger.LogWarning("Ooopsie!");
- }
- }
- }
|