ASP.NET Core 확장 라이브러리의 Http 로그 사용 상세 정보

최선의 실천은 우리에게 요청의 상세한 로그를 기록하지 말라고 알려준다. 왜냐하면 이것은 안전 문제가 있기 때문이다. 그러나 실제 개발에서 요청의 상세한 내용은 신속한 포지셔닝 문제에 매우 중요하고 때로는 시스템의 강력한 증거이기도 하다.Xfrogcn.AspNetCore.Extensions 확장 라이브러리는 서버와 클라이언트의 상세한 로그 기능을 제공합니다. 설정을 통해 열 수 있습니다.
서버 로그는 요청 중간부품을 통해 완성되며, 중간부품은 Trace 단계로 요청과 응답 상세한 상황을 기록하고 Debug 단계로 요청 시간을 기록합니다.서비스 요청 로그의 이름은 ServerRequest입니다.Logger
서버 상세 로그를 열려면 확장 라이브러리 설정의 ServerRequestLevel 속성을 Verbose 단계로 설정하십시오. 이 설정은 기본적으로 Information이므로 요청 상세 정보와 요청 시간을 기록하지 않습니다.
요청 상세 정보를 열면 요청과 응답의 상세한 내용을 읽어야 하기 때문에 성능에 영향을 미칠 수 있습니다.또한 요청체를 읽으려면 요청의 버퍼가 자동으로 열립니다.세부 로그를 기록해야 할 때만 자세한 내용을 읽을 수 있기 때문에 닫으면 성능에 큰 영향을 미치지 않습니다.
고객지원단의 요청 상세 로그는 IHttpClientFactory 및 HttpClient 프레임워크를 바탕으로 클라이언트 요청 파이프 처리에 로그 기록 파이프를 추가했습니다.요청 처리 파이핑은 Trace 레벨로 요청과 응답 상세 정보를 기록하고 요청이 이상하면 Error 레벨로 이상 상세 정보를 기록합니다.클라이언트 요청 로그의 이름은 ClientRequest입니다.Logger
클라이언트 요청 상세 로그를 열려면 확장 라이브러리 설정의 EnableClientRequestLog를 true로 설정하고 ClientRequestLevel을 Verbose로 설정하면 됩니다. 기본값은 Information입니다.서비스 측과 마찬가지로 조건에 부합될 때만 요청과 응답의 상세한 상황을 기록할 수 있기 때문에 켜지지 않으면 성능에 영향을 미치지 않습니다.EnableClientRequestLog가 false로 설정된 경우 확장 라이브러리는 클라이언트 요청 파이프에 로그 요청 파이프를 삽입하지 않습니다.이 설정은 기본값true입니다.

1. 서버 요청 로그 열기


서버에서 요청 상세 로그를 열려면 Xfrogcn을 참조하십시오.AspNetCore.Extensions 라이브러리, Startup 클래스에서 Verbose 구성 서비스 요청 수준:

    public void ConfigureServices(IServiceCollection services)
    {
        services.AddExtensions(Configuration, config=>
        {
            config.FileLog = true;
            config.ConsoleLog = true;
            //  Verbose
            config.ServerRequestLevel = Serilog.Events.LogEventLevel.Verbose;
        });
        services.AddControllers();
    }

2. 클라이언트 요청 로그 열기


클라이언트 로그를 열려면 Xfrogcn을 참조하십시오.AspNetCore.Extensions 라이브러리, 그리고 Startup 클래스에서 ClientRequestLevel을 Verbose로 설정하고 EnableClientRequestLog를true로 설정합니다.

    class Program
    {
        static async Task Main(string[] args)
        {
            IServiceCollection services = new ServiceCollection()
                .AddExtensions(null, config =>
                {
                    config.EnableClientRequestLog = true;
                    config.ClientRequestLevel = Serilog.Events.LogEventLevel.Verbose;
                    config.ConsoleLog = true;
                });

            IServiceProvider provider = services.BuildServiceProvider();
            var clientFactory = provider.GetRequiredService<IHttpClientFactory>();
            HttpClient client = clientFactory.CreateClient();

            var response = await client.GetAsync("http://localhost:5000/weatherforecast");

            Console.ReadLine();
        }
    }

예제


자세한 예는 참조하십시오GitHub
    Xfrogcn.AspNetCore.Extensions 주소:GitHub Gitee
지금까지 ASP였습니다.NET Core Extension Library의 Http 로그 사용에 대한 자세한 내용은 ASP에 대한 자세한 내용을 참조하십시오.NET Core 확장 라이브러리의 Http 로그 자료

좋은 웹페이지 즐겨찾기