Eu tenho implementado injeção de dependência em meu aplicativo. E eu configuração de serviços como a seguir.
IConfiguration configuration = context.Configuration;
services.AddDbContext<ApplicationDbContext>(options =>
{
options.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
});
services.ConfigureRailIncApi(configuration);
services.Configure<EmailSettings>(configuration.GetSection("EmailSettings"));
services.AddSingleton(configuration);
services.AddSingleton(Logger);
services.AddSingleton<Application>();
services.AddSingleton<ServiceManager>();
Isso tudo funciona bem, exceto agora, o quadro é de log para o console, incluindo o conteúdo de todas as consultas enviadas ao banco de dados.
De alguma forma, o interno foi activado o registo mas não estou a ver onde eu já habilitado.
Como posso evitar .LÍQUIDO a partir do registro para a tela?
Nota: Logger
é uma instância de meu próprio log de classe ConsoleLogger
. Esta classe não implementa ILogger
ou usar mais nada .LÍQUIDA. É simplesmente uma classe personalizada que também logs para a consola e um arquivo. O registo de esse agente está funcionando bem. E eu já confirmou a .NET logs não estão sendo enviados para esta classe.
Atualização:
Aqui está o meu código que configura o host.
public void Configure(string[] args, Action< HostBuilderContext, IServiceCollection> configureServices, Action<IHostBuilder> configureHost)
{
IHostBuilder hostBuilder = Host.CreateDefaultBuilder(args);
hostBuilder.ConfigureServices((context, services) =>
{
services.AddSingleton(this);
configureServices(context, services);
});
configureHost(hostBuilder);
AppHost = hostBuilder.Build();
}
E aqui está o código que o chamou.
ApplicationServices appServices = new();
appServices.Configure(args, (context, services) =>
{
IConfiguration configuration = context.Configuration;
services.AddDbContext<ApplicationDbContext>(options =>
{
options.UseSqlServer(configuration.GetConnectionString("DefaultConnection"));
});
services.ConfigureRailIncApi(configuration);
services.Configure<EmailSettings>(configuration.GetSection("EmailSettings"));
services.AddSingleton(configuration);
services.AddSingleton(Logger);
services.AddSingleton<Application>();
services.AddSingleton<ServiceManager>();
},
builder =>
{
});
ConfigureLogging
assumiu ologging
parâmetro foi do tipoHostBuilderContext
mas eu era capaz de forçá-lo a serILoggingBuilder
. Obrigado por sua ajuda.