/// <summary> /// The Startup constructor. /// </summary> /// <param name="configuration">The configuration.</param> /// <param name="environment">The environment.</param> public Startup(IConfiguration configuration, IHostEnvironment environment) { // Gets the factory for ILogger instances. var nlogLoggerProvider = new NLogLoggerProvider(); // Creates an ILogger. _logger = nlogLoggerProvider.CreateLogger(typeof(Startup).FullName); // Gets environment in the web.config file https://weblog.west-wind.com/posts/2020/Jan/14/ASPNET-Core-IIS-InProcess-Hosting-Issues-in-NET-Core-31 string environmentName = Environment.GetEnvironmentVariable("ASPNETCORE_ENVIRONMENT"); _logger.LogInformation($"Environment name: {environmentName}"); var builder = new ConfigurationBuilder() .SetBasePath(environment.ContentRootPath) .AddEnvironmentVariables() .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true) .AddJsonFile($"appsettings.{environmentName ?? "Production"}.json", optional: true); // Sets the new Configuration configuration = builder.Build(); Configuration = configuration; }
private ILogger CreateLogger(IComponentContext c, IEnumerable <Parameter> p) { var logger = _provider.CreateLogger(p.TypedAs <Type>().FullName); return(logger); }