KeiStory

Blazor Serilog 에서 HTTP 로깅 제외하기

 

Serilog 를 이용해 Seq 서버에 로그를 남기고 있는데 UseSerilogRequestLogging설정을 해놓으니

app.UseSerilogRequestLogging();

HTTP GET / HTTP POST / blazor 관련 로그가 너무 많이 남고 있어 정작 봐야 할 로그가 보기가 힘들었습니다.

[14:15:44 INF] Request starting HTTP/2 GET https://localhost:5001/  
[14:15:44 INF] Executing endpoint '/Index'
[14:15:45 INF] Route matched with {page = "/Index"}. Executing page /Index
[14:15:45 INF] Executing handler method SerilogRequestLogging.Pages.IndexModel.OnGet - ModelState is Valid
[14:15:45 INF] Executed handler method OnGet, returned result .
[14:15:45 INF] Executing an implicit handler method - ModelState is Valid
[14:15:45 INF] Executed an implicit handler method, returned result Microsoft.AspNetCore.Mvc.RazorPages.PageResult.
[14:15:45 INF] Executed page /Index in 124.7462ms
[14:15:45 INF] Executed endpoint '/Index'

# Additional Log from Serilog
[14:15:45 INF] HTTP GET / responded 200 in 249.6985 ms

# Standard logging from ASP.NET Core infrastructure
[14:15:45 INF] Request finished in 274.283ms 200 text/html; charset=utf-8

그런데 Error 로그는 봐야하기에 아래처럼 처리하면 Error 를 제외하고는 Blazor, HTTP 로그가 남지 않습니다.

 

1. 코드에서 처리

Program.cs 파일에 아래 두 가지 항목을 추가합니다.

.MinimumLevel.Override("Microsoft.AspNetCore", LogEventLevel.Error)
.MinimumLevel.Override("Serilog.AspNetCore", LogEventLevel.Error)

 

2. Configuration 으로 처리

appsettings.json 파일에서는 아래와 같이 처리하면 됩니다.

{
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Information",
        "Microsoft.AspNetCore": "Error",
        "Serilog.AspNetCore": "Error"

      }
    }
  },
  "AllowedHosts": "*"
}

(좀 더 상세하게는  "Selilog.AspNetCore.RequestLoggingMiddleware":"Error" 로 처리합니다.)

 

두 가지 방법 중 편한 방법으로 처리하면 됩니다.

 

참고

https://andrewlock.net/using-serilog-aspnetcore-in-asp-net-core-3-reducing-log-verbosity/

 

Reducing log verbosity with Serilog RequestLogging: Using Serilog.AspNetCore in ASP.NET Core 3.0 - Part 1

In this post I describe how you can use Serilog.AspNetCore to reduce the number of logs generated by every request in ASP.NET Core 3.0

andrewlock.net

 

반응형

공유하기

facebook twitter kakaoTalk kakaostory naver band