Usługa W3CLogger na platformie ASP.NET Core
Uwaga
Nie jest to najnowsza wersja tego artykułu. Aby zapoznać się z bieżącą wersją, zapoznaj się z wersją tego artykułu platformy .NET 8.
Ostrzeżenie
Ta wersja ASP.NET Core nie jest już obsługiwana. Aby uzyskać więcej informacji, zobacz .NET i .NET Core Support Policy (Zasady obsługi platformy .NET Core). Aby zapoznać się z bieżącą wersją, zapoznaj się z wersją tego artykułu platformy .NET 8.
Ważne
Te informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany, zanim zostanie wydany komercyjnie. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Aby zapoznać się z bieżącą wersją, zapoznaj się z wersją tego artykułu platformy .NET 8.
W3CLogger to oprogramowanie pośredniczące, które zapisuje pliki dziennika w standardowym formacie W3C. Dzienniki zawierają informacje o żądaniach HTTP i odpowiedziach HTTP. Usługa W3CLogger udostępnia dzienniki zawierające:
- Informacje o żądaniach HTTP
- Wspólne właściwości
- Nagłówki
- Informacje o odpowiedziach HTTP
- Metadane dotyczące pary żądanie/odpowiedź (data/godzina rozpoczęcia, czas trwania)
Usługa W3CLogger przydaje się w kilku scenariuszach i umożliwia:
- Rejestrowanie informacji o przychodzących żądaniach i odpowiedziach.
- Filtrowanie części żądania i odpowiedzi, które są rejestrowane.
- Filtrowanie nagłówków, które należy zarejestrować.
Usługa W3CLogger może obniżyć wydajność aplikacji. Rozważ wpływ na wydajność podczas wybierania pól do rejestrowania — obniżenie wydajności pogłębi się w miarę rejestrowania większej liczby właściwości. Przetestuj wpływ na wydajność wybranych właściwości rejestrowania.
Ostrzeżenie
Usługa W3CLogger może potencjalnie rejestrować dane osobowe. Weź to ryzyko pod uwagę i unikaj rejestrowania poufnych informacji. Pola, które mogą zawierać dane osobowe, nie są domyślnie rejestrowane.
Włączanie usługi W3CLogger
Włącz usługę W3CLogger za pomocą metody UseW3CLogging, która dodaje oprogramowanie pośredniczące W3CLogger:
var app = builder.Build();
app.UseW3CLogging();
app.UseRouting();
Domyślnie usługa W3CLogger rejestruje typowe właściwości, takie jak ścieżka, kod stanu, data, godzina i protokół. Wszystkie informacje dotyczące pojedynczej pary żądanie/odpowiedź są zapisywane w tym samym wierszu.
#Version: 1.0
#Start-Date: 2021-09-29 22:18:28
#Fields: date time c-ip s-computername s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status time-taken cs-version cs-host cs(User-Agent) cs(Referer)
2021-09-29 22:18:28 ::1 DESKTOP-LH3TLTA ::1 5000 GET / - 200 59.9171 HTTP/1.1 localhost:5000 Mozilla/5.0+(Windows+NT+10.0;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/93.0.4577.82+Safari/537.36 -
2021-09-29 22:18:28 ::1 DESKTOP-LH3TLTA ::1 5000 GET / - 200 0.1802 HTTP/1.1 localhost:5000 Mozilla/5.0+(Windows+NT+10.0;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/93.0.4577.82+Safari/537.36 -
2021-09-29 22:18:30 ::1 DESKTOP-LH3TLTA ::1 5000 GET / - 200 0.0966 HTTP/1.1 localhost:5000 Mozilla/5.0+(Windows+NT+10.0;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/93.0.4577.82+Safari/537.36 -
Opcje usługi W3CLogger
Aby skonfigurować oprogramowanie pośredniczące W3CLogger, wywołaj metodę AddW3CLogging w pliku Program.cs
:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddW3CLogging(logging =>
{
// Log all W3C fields
logging.LoggingFields = W3CLoggingFields.All;
logging.FileSizeLimit = 5 * 1024 * 1024;
logging.RetainedFileCountLimit = 2;
logging.FileName = "MyLogFile";
logging.LogDirectory = @"C:\logs";
logging.FlushInterval = TimeSpan.FromSeconds(2);
});
LoggingFields
Właściwość W3CLoggerOptions.LoggingFields to bitowe wyliczenie flag, które konfiguruje konkretne części żądania i odpowiedzi do rejestrowania, a także inne informacje o połączeniu. Element LoggingFields
domyślne obejmuje wszystkie możliwe pola za wyjątkiem UserName
i Cookie
. Aby uzyskać pełną listę dostępnych pól, zobacz W3CLoggingFields.
W3CLogger to oprogramowanie pośredniczące, które zapisuje pliki dziennika w standardowym formacie W3C. Dzienniki zawierają informacje o żądaniach HTTP i odpowiedziach HTTP. Usługa W3CLogger udostępnia dzienniki zawierające:
- Informacje o żądaniach HTTP
- Wspólne właściwości
- Nagłówki
- Informacje o odpowiedziach HTTP
- Metadane dotyczące pary żądanie/odpowiedź (data/godzina rozpoczęcia, czas trwania)
Usługa W3CLogger przydaje się w kilku scenariuszach i umożliwia:
- Rejestrowanie informacji o przychodzących żądaniach i odpowiedziach.
- Filtrowanie części żądania i odpowiedzi, które są rejestrowane.
- Filtrowanie nagłówków, które należy zarejestrować.
Usługa W3CLogger może obniżyć wydajność aplikacji. Rozważ wpływ na wydajność podczas wybierania pól do rejestrowania — obniżenie wydajności pogłębi się w miarę rejestrowania większej liczby właściwości. Przetestuj wpływ na wydajność wybranych właściwości rejestrowania.
Ostrzeżenie
Usługa W3CLogger może potencjalnie rejestrować dane osobowe. Weź to ryzyko pod uwagę i unikaj rejestrowania poufnych informacji. Pola, które mogą zawierać dane osobowe, nie są domyślnie rejestrowane.
Włączanie usługi W3CLogger
Włącz usługę W3CLogger za pomocą metody UseW3CLogging, która dodaje oprogramowanie pośredniczące W3CLogger:
var app = builder.Build();
app.UseW3CLogging();
app.UseRouting();
Domyślnie usługa W3CLogger rejestruje typowe właściwości, takie jak ścieżka, kod stanu, data, godzina i protokół. Wszystkie informacje dotyczące pojedynczej pary żądanie/odpowiedź są zapisywane w tym samym wierszu.
#Version: 1.0
#Start-Date: 2021-09-29 22:18:28
#Fields: date time c-ip s-computername s-ip s-port cs-method cs-uri-stem cs-uri-query sc-status time-taken cs-version cs-host cs(User-Agent) cs(Referer)
2021-09-29 22:18:28 ::1 DESKTOP-LH3TLTA ::1 5000 GET / - 200 59.9171 HTTP/1.1 localhost:5000 Mozilla/5.0+(Windows+NT+10.0;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/93.0.4577.82+Safari/537.36 -
2021-09-29 22:18:28 ::1 DESKTOP-LH3TLTA ::1 5000 GET / - 200 0.1802 HTTP/1.1 localhost:5000 Mozilla/5.0+(Windows+NT+10.0;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/93.0.4577.82+Safari/537.36 -
2021-09-29 22:18:30 ::1 DESKTOP-LH3TLTA ::1 5000 GET / - 200 0.0966 HTTP/1.1 localhost:5000 Mozilla/5.0+(Windows+NT+10.0;+WOW64)+AppleWebKit/537.36+(KHTML,+like+Gecko)+Chrome/93.0.4577.82+Safari/537.36 -
Opcje usługi W3CLogger
Aby skonfigurować oprogramowanie pośredniczące W3CLogger, wywołaj metodę AddW3CLogging w pliku Program.cs
:
var builder = WebApplication.CreateBuilder(args);
builder.Services.AddW3CLogging(logging =>
{
// Log all W3C fields
logging.LoggingFields = W3CLoggingFields.All;
logging.AdditionalRequestHeaders.Add("x-forwarded-for");
logging.AdditionalRequestHeaders.Add("x-client-ssl-protocol");
logging.FileSizeLimit = 5 * 1024 * 1024;
logging.RetainedFileCountLimit = 2;
logging.FileName = "MyLogFile";
logging.LogDirectory = @"C:\logs";
logging.FlushInterval = TimeSpan.FromSeconds(2);
});
LoggingFields
Właściwość W3CLoggerOptions.LoggingFields to bitowe wyliczenie flag, które konfiguruje konkretne części żądania i odpowiedzi do rejestrowania, a także inne informacje o połączeniu. Element LoggingFields
domyślne obejmuje wszystkie możliwe pola za wyjątkiem UserName
i Cookie
. Aby uzyskać pełną listę dostępnych pól, zobacz W3CLoggingFields.