private static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) // TODO: move to service rather than being across all services by default. .ConfigureDiscordBot(() => new DiscordSocketConfig { LogLevel = EnvironmentsHelper.IsDevelopment() ? LogSeverity.Verbose : LogSeverity.Info, MessageCacheSize = 40, HandlerTimeout = 2000, AlwaysDownloadUsers = true }) .ConfigureLogging(builder => { builder.ClearProviders(); builder.AddConsole(); }) .ConfigureServices(builder => { builder.AddOptions(); }) .UseServiceProviderFactory(new AutofacServiceProviderFactory(builder => { var ownedAssemblies = AppDomain.CurrentDomain.GetAssemblies() .Where(a => a.GetName().FullName.Contains(nameof(YosherBot))) .ToArray(); builder.RegisterAssemblyModules(ownedAssemblies); }));
public void ShouldDevelopmentBeFalse_WhenEnvvarIsUnknown() { TestHelper.SetEnvironmentName("abc"); var result = EnvironmentsHelper.IsDevelopment(); Assert.IsFalse(result); }
public void ShouldDevelopmentBeTrue_WhenEnvvarIsUnset() { TestHelper.SetEnvironmentName(null); var result = EnvironmentsHelper.IsDevelopment(); Assert.IsTrue(result); }
public void ShouldDevelopmentBeFalse_WhenEnvvarIsProduction() { TestHelper.SetEnvironmentName("production"); var result = EnvironmentsHelper.IsDevelopment(); Assert.IsFalse(result); }
public Task HandleLogEventAsync(LogMessage logMessage) { var isDevelopment = EnvironmentsHelper.IsDevelopment(); switch (logMessage.Severity) { case LogSeverity.Critical: if (isDevelopment) { _logger.LogCritical("Discord.NET ({Source}) - {Message}", logMessage.Source, logMessage.Message); } else { _logger.LogCritical("Discord.NET - {Message}", logMessage.Message); } if (logMessage.Exception != null) { _logger.LogError("Exception: {Exception}", logMessage.Exception); } break; case LogSeverity.Error: if (isDevelopment) { _logger.LogError("Discord.NET ({Source}) - {Message}", logMessage.Source, logMessage.Message); } else { _logger.LogError("Discord.NET - {Message}", logMessage.Message); } if (logMessage.Exception != null) { _logger.LogError("Exception: {Exception}", logMessage.Exception); } break; case LogSeverity.Warning: if (isDevelopment) { _logger.LogWarning("Discord.NET ({Source}) - {Message}", logMessage.Source, logMessage.Message); } else { _logger.LogWarning("Discord.NET - {Message}", logMessage.Message); } if (logMessage.Exception != null) { _logger.LogError("Exception: {Exception}", logMessage.Exception); } break; case LogSeverity.Info: if (isDevelopment) { _logger.LogInformation("Discord.NET ({Source}) - {Message}", logMessage.Source, logMessage.Message); } else { _logger.LogInformation("Discord.NET - {Message}", logMessage.Message); } break; case LogSeverity.Verbose: case LogSeverity.Debug: if (isDevelopment) { _logger.LogDebug("Discord.NET ({Source}) - {Message}", logMessage.Source, logMessage.Message); } break; default: _logger.LogInformation("Discord.NET ({Source}) - {Message}", logMessage.Source, logMessage.Message); break; } return(Task.CompletedTask); }