/// <summary> /// Main method triggered at startup. /// </summary> static void Main(string[] args) { try { // Get env settings file URL string envSettingsString = _httpClient.GetStringAsync(Environment.GetEnvironmentVariable("ENV_SETTINGS_URL")).ContinueWith((r) => { return(r.Result); }).Result; _envSettings = JsonConvert.DeserializeObject <EnvSettings>(envSettingsString); Console.WriteLine($"Retrieved env settings successfully"); // Initialize logger var logLevelProperty = _envSettings.Properties.Where(x => x.Name == "LogLevel").FirstOrDefault(); if (logLevelProperty == null) { throw new Exception("Unable to find LogLevel property in env settings"); } Console.WriteLine($"Setting log level to {logLevelProperty.Value}"); var logLevel = (LogLevel)Enum.Parse(typeof(LogLevel), logLevelProperty.Value, true); var consoleLoggerConfiguration = new ConsoleLoggerConfiguration(logLevel: logLevel); _loggerFactory = ConsoleLoggerExtensions.AddConsoleLogger(new LoggerFactory(), consoleLoggerConfiguration); _consoleLogger = _loggerFactory.CreateLogger <ConsoleLogger>(); _consoleLogger.LogInformation("Kicking off Main method"); // Use Timer trigger instead var timerIntervalProperty = _envSettings.Properties.Where(x => x.Name == "TimerIntervalInSeconds").FirstOrDefault(); if (timerIntervalProperty == null) { throw new Exception("Unable to find TimerIntervalInSeconds in env settings"); } SetTimer(Convert.ToInt32(timerIntervalProperty.Value) * 1000); // Initialize module client InitializeModuleClient().Wait(); // Wait until the app unloads or is cancelled var cts = new CancellationTokenSource(); AssemblyLoadContext.Default.Unloading += (ctx) => cts.Cancel(); Console.CancelKeyPress += (sender, cpe) => cts.Cancel(); WhenCancelled(cts.Token).Wait(); } catch (Exception e) { Console.WriteLine($"Main caught an exception: {e}"); } }
public void AdditionalTests(IWebHostBuilder webHostBuilder, IServiceCollection serviceDescriptors) { var factory = new MyLoggerFactory(); // ^^^^^^^^^^^^^^^^^^^^^ new MyLoggerFactory("data"); // Noncompliant // Calling extension methods as static methods WebHostBuilderExtensions.ConfigureLogging(webHostBuilder, (Action <ILoggingBuilder>)null); // Noncompliant LoggingServiceCollectionExtensions.AddLogging(serviceDescriptors, (Action <ILoggingBuilder>)null); // Noncompliant AzureAppServicesLoggerFactoryExtensions.AddAzureWebAppDiagnostics(factory, null); // Noncompliant ConsoleLoggerExtensions.AddConsole(factory); // Noncompliant DebugLoggerFactoryExtensions.AddDebug(factory); // Noncompliant EventLoggerFactoryExtensions.AddEventLog(factory); // Noncompliant EventSourceLoggerFactoryExtensions.AddEventSourceLogger(factory); // Noncompliant }