지지 않도록 합니다.NET 로그인 콘솔?

0

질문

내가 구현한 종속 주입에 내 응용 프로그램이 있습니다. 나는 구성 서비스는 다음과 같습니다.

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>();

이 모든 작동을 제외하고는 이제 프레임워크가 로그를 콘솔 등의 내용을 쿼리를 전송하여 데이터베이스입니다.

어떻게든 내부 기록하도록 설정되지만 나는 보이지 않는 곳에 나가 활성화되었습니다.

을 방지할 수 있는 방법.NET 로그인하시겠습니까?

참고: Logger 인스턴스입니다 제 자신의 클래스를 로깅 ConsoleLogger. 이 클래스를 구현하지 않는 ILogger 사용하거나 다른 아무것도니다.NET. 그것은 단순히 사용자 정의 클래스는 또한 로그를 콘솔하고 있습니다. Logging 에서 이 로거가 제대로 작동합니다. 고 확인했다.NET 로그는 보내지지 않고 있습니다.

업데이트:

여기 나의 코드 구성하는 호스트.

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();
}

그리고 여기에 호출하는 코드습니다.

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 =>
{

});
.net-6.0 .net-core c# ilogger
2021-11-23 19:36:35
1

최고의 응답

1

참고

CreateDefaultBuilder 방법:
...
...
다음과 같은 로깅을 제공업체:

  • 콘솔
  • 디버그
  • EventSource
  • 이벤트(만에서 실행하면 Windows)

참조 기본 작성기 설정

당신이해야하는 것에 명시적으로 제거하는 기본 제공자만 추가 당신이 원하는 사람.

IHostBuilder hostBuilder = Host.CreateDefaultBuilder(args);

//...

hostBuilder.ConfigureLogging(logging => {
    logging.ClearProviders();

    //... add my providers here
});

//...

한 경우에는 당신이 피하고 싶은 다른 확장자를 추가 자신의 공급자는 다음을 수행 logging configuration 마지막 그래서인지 먼저 확인하시는 것이 대거 추가되었습니다.

2021-11-23 20:41:50

예,이것은 정확히 무엇이 일어나고 있습니다. 는 이유를 모르겠어요 ConfigureLogginglogging 매개 변수가 형식 HostBuilderContext 그러나 나는 할 수 있었다 그것을 강제할 ILoggingBuilder. 당신의 도움을 위한 감사합니다.
Jonathan Wood

다른 언어로

이 페이지는 다른 언어로되어 있습니다

Русский
..................................................................................................................
Italiano
..................................................................................................................
Polski
..................................................................................................................
Română
..................................................................................................................
हिन्दी
..................................................................................................................
Français
..................................................................................................................
Türk
..................................................................................................................
Česk
..................................................................................................................
Português
..................................................................................................................
ไทย
..................................................................................................................
中文
..................................................................................................................
Español
..................................................................................................................
Slovenský
..................................................................................................................