las ich, dass Aktion Umfang withing contoller der innerhalb MVC Middleware Framework verwenden Anmeldung:Protokollierung MVC Rahmen
Verwenden Scopes sparsam und nur für Aktionen mit einem begrenzten Anfang und Ende. Zum Beispiel bietet das Framework einen Bereich um MVC Aktionen. Vermeiden Sie, mehrere Bereiche ineinander zu verschachteln.
Und
Ein Bereich ist ein IDisposable Typ zurückgegeben, indem die ILogger.BeginScope Methode aufruft, die von dem Moment dauert es erstellt wird, bis er angeordnet ist. Jeder Protokollierungsstatus, z. B. eine Transaktions-ID, wird beim Erstellen an den Bereich angehängt.
Ich versuche, diese Funktion zu verwenden, um einige Protokollinformationen zu schreiben. I ausgeführten Schritten:
1) Erstellen Asp.net Kern MVC app
2) gesetzt Eigenschaft "IncludeScopes" als "wahr" in appsetting.json
3) Erstellen Controller und die Aktion wie folgt aus:
[Route("api/[controller]")]
public class TodoController : Controller
{
private readonly ILogger<TodoController> _logger;
public TodoController(ILogger<TodoController> logger)
{
_logger = logger;
}
// GET: api/values
[HttpGet]
public IEnumerable<string> Get()
{
_logger.LogInformation(1000, "Listing all items started");
Thread.Sleep(2000);
_logger.LogInformation(1000, "Listing all items finished");
return new string[] { "value1", "value2" };
}
}
Ich erwarte, dass mein Log Nachrichtenfluss immer nur "Listing all items started" und "Listing all items finished" Teile enthält, die nicht voneinander getrennt sind. Aber wenn ich zwei Anfragen in der gleichen Zeit ein Erhaltenes Protokollfluss als gestartet:
RequestId: xxx Eine Auflistung aller Artikel gestartet
RequestId: yyy Auflistung aller Artikel gestartet
RequestId: xxx Eine Auflistung aller Artikel fertig
RequestId : yyy Auflistung aller Artikel abgeschlossen
Was ist der Grund? Ist es richtiges Verhalten und ich habe "Scope" Begriff im Zusammenhang mit der Protokollierung missverstanden?
Fügen Sie keine Tags in den Fragetitel ein, es sei denn, es handelt sich um eine organische Konversation! http://stackoverflow.com/help/tagging – Tseng