private void WriteToOutput(IEnumerable <DiagnosticRecord> diagnosticRecords) { foreach (ILogger logger in ScriptAnalyzer.Instance.Loggers) { var errorCount = 0; var warningCount = 0; var infoCount = 0; foreach (DiagnosticRecord diagnostic in diagnosticRecords) { logger.LogObject(diagnostic, this); switch (diagnostic.Severity) { case DiagnosticSeverity.Information: infoCount++; break; case DiagnosticSeverity.Warning: warningCount++; break; case DiagnosticSeverity.Error: errorCount++; break; default: throw new ArgumentOutOfRangeException(nameof(diagnostic.Severity), $"Severity '{diagnostic.Severity}' is unknown"); } } if (ReportSummary.IsPresent) { var numberOfRuleViolations = infoCount + warningCount + errorCount; if (numberOfRuleViolations == 0) { Host.UI.WriteLine("0 rule violations found."); } else { var pluralS = numberOfRuleViolations > 1 ? "s" : string.Empty; var message = $"{numberOfRuleViolations} rule violation{pluralS} found. Severity distribution: {DiagnosticSeverity.Error} = {errorCount}, {DiagnosticSeverity.Warning} = {warningCount}, {DiagnosticSeverity.Information} = {infoCount}"; if (warningCount + errorCount == 0) { ConsoleHostHelper.DisplayMessageUsingSystemProperties(Host, "WarningForegroundColor", "WarningBackgroundColor", message); } else { ConsoleHostHelper.DisplayMessageUsingSystemProperties(Host, "ErrorForegroundColor", "ErrorBackgroundColor", message); } } } } if (EnableExit.IsPresent) { this.Host.SetShouldExit(diagnosticRecords.Count()); } }
public static IConsoleHost BuildConsoleHost(string[] args) => ConsoleHostHelper.CreateDefaultBuilder(args) .UseConfiguration(new ConfigurationBuilder() .AddEnvironmentVariables() .AddCommandLine(args) .Build()) .ConfigureServices(services => { services.AddDbContextPool <MyDbContext>(q => q.UseMySql("Server=192.168.4.157;Port=3306;Database=shiliyuanma;Uid=root;Pwd=hd123456;")); }) .UseStartup <Startup>() .Build();
private static IHostBuilder CreateHostBuilder(string[] args) => ConsoleHostHelper.CreateDefaultBuilder(args) .ConfigureServices((hostContext, services) => { services.AddHttpClient("kyc", c => { c.BaseAddress = new Uri(hostContext.Configuration["KycServiceUrl"]); c.DefaultRequestHeaders.Add("Accept", "application/json"); }); services.AddHttpClient("identity", c => { c.BaseAddress = new Uri(hostContext.Configuration["IdentityServerUrl"]); c.DefaultRequestHeaders.Add("Accept", "application/json"); }); services.AddSingleton(new ClientCredentialsTokenRequest { Address = $"{hostContext.Configuration["IdentityServerUrl"]}/connect/token", ClientId = hostContext.Configuration["ClientId"], ClientSecret = hostContext.Configuration["ClientSecret"], Scope = hostContext.Configuration["Scope"] }); services.AddHttpClient <IIdentityServerClient, IdentityServerClient>(client => { client.BaseAddress = new Uri(hostContext.Configuration["IdentityServerUrl"]); client.DefaultRequestHeaders.Add("Accept", "application/json"); }); services.AddAutoMapper(typeof(MappingProfile)); services .AddKafkaConsumer <string, InitiateKycResponseModel>(hostContext.Configuration, "initiate-kyc") .AddHostedService <InitiateKycService>() .AddKafkaConsumer <string, CheckMrzStatusResponseModel>(hostContext.Configuration, "check-mrz") .AddHostedService <CheckMrzStatusService>() .AddKafkaConsumer <string, VerificationResponseModel>(hostContext.Configuration, "verify-identity") .AddHostedService <VerifyIdentityService>(); });