Bisher habe ich mich nie mit der Ereignis -ID gekümmert und sie nur auf 0 gesetzt. Verwenden Sie den Ereignisnamen nur in den Log Explorer/Aggregator/Analyzer -Tools. Oder macht das jeder? Und wenn ja, ist 0 der bevorzugte Wert oder sollte ein anderer Wert verwendet werden? Ich habe LoggerMessageattribute.Eventid standardmäßig -1 gesehen, scheint dann aber einen zufälligen Wert zu generieren. Für die Verwaltung von Ereignis -IDs beim Definieren von Protokollnachrichten? Etwas, das leicht in LoggerMessageAttribute codeGen integriert werden kann. Sollte auch eine Ereignis -ID für alle Ereignisse oder nur in einer Kategorie eindeutig sein? Das führt jedoch zu einer Redundanz mit dem Namen, da sie bereits aus der Methode abgeleitet wird (bei Verwendung von LoggerMessageTRIBIBUT ). Der EventID wird als Kennung für Ereignisse verwendet (
könnte auch verwendet werden). Die EventID ermöglicht die Definition von EventId.name (
) und/oder eventId.id (
) als Kennung. Die Frage bezieht sich auf Best Practices zu diesen beiden Optionen. Und die Relevanz von eventId.id , weil ich argumentieren würde, dass es schwieriger ist, ein einzigartiges int32 als eine Zeichenfolge zu bezeichnen.
Edit2: FYI, wenn die EventID -Property auf dem LoggerMessageatTribute weggelassen wird, verwendet die Codegeneratoren einen Hash des Ereignisnamens -Property (wenn der Methodennamen gleichzeitig ausgelassen) zu einem geringen Eindeutige INT32 -ID, die diese als Ereignis -ID verwendet: LoggerMessageGenerator.Parser.cs - Zeile 908