using DealerSelection.Common.HttpClient; using DealerSelection.Common.Interfaces.HttpClient; using Lamar; using Microsoft.ApplicationInsights.Extensibility; using Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Hosting; using Microsoft.Extensions.Logging; using Microsoft.Extensions.Logging.ApplicationInsights; namespace WebJobService; public class Program : ServiceRegistry { static void Main() { var registry = new ServiceRegistry(); registry.AddSingleton(); registry.AddSingleton(); var builder = new ConfigurationBuilder().AddJsonFile($"appsettings.json", true, true); var config = builder.Build(); var aiUrl = config["AZURE_LOGGING"]; Console.WriteLine("Logging AddApplicationInsights started"); registry.AddLogging(x => x.AddApplicationInsights( configureTelemetryConfiguration: (config) => config.ConnectionString = aiUrl, configureApplicationInsightsLoggerOptions: (options) => { } ).AddFilter("traces", LogLevel.Trace)); Console.WriteLine("Logging AddApplicationInsights Ended"); registry.For() .Use() .Ctor().Is("BOOKING") .Transient(); registry.For().Use().Singleton(); //IServiceCollection services1 = new ServiceCollection(); //var CHANNEL1 = new ServerTelemetryChannel(); //services1.Configure((config) => //{ // config.TelemetryChannel = CHANNEL1; //}); //services1.AddLogging(builder => { builder.AddApplicationInsights(aiUrl); }); //var provider=services1.BuildServiceProvider(); //var logger=provider.GetService>(); //logger.LogInformation("Its a Test"); //Host.CreateDefaultBuilder(args) // .ConfigureWebHostDefaults(webBuilder => // { // webBuilder.UseStartup(); // }) // .UseSerilog((hostingContext, loggerConfiguration) => loggerConfiguration // .ReadFrom.Configuration(hostingContext.Configuration) // .WriteTo.ApplicationInsights(new TelemetryConfiguration { InstrumentationKey = "xxxxxxxxx" }, TelemetryConverter.Traces) // ); var container = new Container(registry); Console.WriteLine("Logging Run Started"); IService service = container.GetInstance(); service.Run(); Console.WriteLine("Logging Run Ended"); // Handling finalizing when process is ended } private void AzureLogging(WebApplicationBuilder builder) { builder.Logging.AddApplicationInsights( configureTelemetryConfiguration: (config) => config.ConnectionString = builder.Configuration.GetConnectionString("AZURE_LOGGING"), configureApplicationInsightsLoggerOptions: (options) => { } ); builder.Logging.AddFilter("traces", LogLevel.Trace); } }