serilog
-
[ASP.NET Core] Serilog 에서 미들웨어를 이용한 모든 Request 로그 기록 설정.NET/ASP.NET Core 2021. 10. 12. 23:10
Serilog를 통해 모든 Request에서 로그기록을 하고 싶을 경우 LogContext와 미들웨어를 이용해야 한다. * 사실 Serilog는 RequestID property가 기본제공되므로 미들웨어 없이 {RequestId}를 써도 되긴한다. LogContextMiddleware.cs public class LogContextMiddleware { private readonly RequestDelegate _next; public LogContextMiddleware(RequestDelegate next) { _next = next; } public Task Invoke(HttpContext context) { using (LogContext.PushProperty("TraceId", context..
-
[ASP.NET Core] 기본 로그를 지우고 Serilog만 나오도록 수정하는 방법.NET/ASP.NET Core 2021. 9. 22. 23:03
NET5 기준으로 ASP.NET Core 프로젝트를 생성하면 Program.cs 파일에 CreateHostBuilder() 함수가 기본 생성된다. 해당 함수에는 Host.CreateDefaultBuilder(args) 및 ConfigureWebHostDefaults() 함수를 호출하여 웹 서비스에 필요한 기본적인 설정사항등을 별도 작업없이 추가해주는데 이때 MS에서 기본제공하는 Log 제공자(Provider)도 추가된다. Serilog 와 같이 서드파티 제공자를 사용하고 싶다면 CreateHostBuilder를 아래와 같이 수정하여 MS 기본 제공 Log 공급자를 제거해야 한다. public static IHostBuilder CreateHostBuilder(string[] args) => Host.Cr..