- appsettings.json/Development.json에 Serilog 섹션 추가 (Console/File Sink, Rolling Daily) - RequestIdMiddleware 구현 (X-Request-ID 헤더 발급/반환) - Program.cs에 Serilog 호스트 빌더 + UseSerilogRequestLogging 등록 - 환경별 로그 레벨 분리 (Development: Debug, Production: Warning)
20 lines
533 B
C#
20 lines
533 B
C#
namespace SPMS.API.Middlewares;
|
|
|
|
public class RequestIdMiddleware
|
|
{
|
|
private readonly RequestDelegate _next;
|
|
|
|
public RequestIdMiddleware(RequestDelegate next) => _next = next;
|
|
|
|
public async Task InvokeAsync(HttpContext context)
|
|
{
|
|
var requestId = context.Request.Headers["X-Request-ID"].FirstOrDefault()
|
|
?? Guid.NewGuid().ToString("N");
|
|
|
|
context.Items["RequestId"] = requestId;
|
|
context.Response.Headers["X-Request-ID"] = requestId;
|
|
|
|
await _next(context);
|
|
}
|
|
}
|