آموزش HTTP Logging در ASP.NET Core

HTTP Logging یک میان افزار (middleware) است که اطلاعات مربوط به درخواست های HTTP و پاسخ های HTTP را ثبت می کند.

آموزش HTTP Logging در ASP.NET Core

HTTP Logging در ASP.NET Core

HTTP Logging in ASP.NET Core

HTTP Logging یک میان افزار (middleware) است که اطلاعات مربوط به درخواست های HTTP و پاسخ های HTTP را ثبت می کند. HTTP Logging گزارش هایی از موارد زیر را ارائه می دهد:

1- اطلاعات درخواست HTTP

2- خواص مشترک

3- سرصفحه ها (Headers)

4- Body

5- اطلاعات پاسخ HTTP

HTTP Logging در چندین سناریوی زیر ارزشمند است:

1-زمانی که بخواهید اطلاعات مربوط به درخواست ها و پاسخ های دریافتی را ثبت کنید.

2-فیلتر کنید کدام بخش از درخواست و پاسخ ثبت شده است.

3-فیلتر کردن هدرهایی که باید ثبت شوند.

HTTP Logging می تواند کارایی یک برنامه را کاهش دهد، به ویژه هنگام ثبت بدنه های درخواست و پاسخ. هنگام انتخاب فیلدها برای ثبت، تأثیر کارایی را در نظر بگیرید. تأثیر کارایی ویژگی های ورود به سیستم انتخاب شده را آزمایش کنید.

HTTP Logging به طور بالقوه می تواند اطلاعات قابل شناسایی شخصی (PII) را ثبت کند. ریسک را در نظر بگیرید و از ثبت اطلاعات حساس خودداری کنید.

فعال کردن HTTP logging

HTTP Logging با استفاده از UseHttpLogging فعال می شود، که میان افزارHTTP logging را اضافه می کند.

فعال کردن HTTP logging

به طور پیش فرض، HTTP Logging ویژگی های رایجی مانند مسیر (path)، کد وضعیت (status-code) و هدرها (headers) را برای درخواست ها و پاسخ ها ثبت می کند. خط زیر را به فایل appsettings.Development.json در "LogLevel" اضافه کنید:

فعال کردن HTTP logging

خروجی به صورت یک پیام در LogLevel.Information ثبت می شود.

HTTP Logging in asp.net core

HTTP Logging options

برای پیکربندی میان افزار HTTP logging ، AddHttpLogging را در Program.cs فراخوانی کنید.

HTTP Logging options

LoggingFields

HttpLoggingOptions.LoggingFields یک فلگ enum است که بخش های خاصی از تقاضا و پاسخ برای ثبت را پیکربندی می کند. HttpLoggingOptions.LoggingFields به طور پیش فرض روی RequestPropertiesAndHeaders | ResponsePropertiesAndHeaders. است.

RequestHeaders

Headers مجموعه ای از HTTP Request Headers هستند که مجاز به ثبت نام هستند. مقادیر Header فقط برای نام های Header که در این مجموعه هستند ثبت می شوند. کد زیر درخواست هدر "sec-ch-ua" را ثبت می کند. اگر logging.RequestHeaders.Add("sec-ch-ua") حذف شود، مقدار هدر درخواست "sec-ch-ua" ویرایش می شود. کد هایلایت شده زیر HttpLoggingOptions.RequestHeaders و HttpLoggingOptions.ResponseHeaders را فراخوانی می کند:

RequestHeaders

MediaTypeOptions

MediaTypeOptions پیکربندی را برای انتخاب کدگذاری مورد استفاده برای یک نوع رسانه خاص فراهم می کند.

MediaTypeOptions

متدهای MediaTypeOptions عبارت است از:

AddText

AddBinary

Clear

RequestBodyLogLimit و ResponseBodyLogLimit

RequestBodyLogLimit

ResponseBodyLogLimit

MediaTypeOptions
HTTP Logging ASP.NET Core