In .NET microsoft.extensions.Logging Infrastructure Soll ich Ereignis -IDs verwenden oder genügend Namen sindC#

Ein Treffpunkt für C#-Programmierer
Anonymous
 In .NET microsoft.extensions.Logging Infrastructure Soll ich Ereignis -IDs verwenden oder genügend Namen sind

Post by Anonymous »

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 (

Code: Select all

OriginalFormat
könnte auch verwendet werden). Die EventID ermöglicht die Definition von EventId.name (

Code: Select all

string
) und/oder eventId.id (

Code: Select all

int32
) 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

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post