Condividi tramite


LoggingEventSource Classe

Definizione

La classe LoggingEventSource è il collegamento tra tutta le registrazioni basate su ILogger e tutte quelle basate su EventSource/EventListener.

public ref class LoggingEventSource sealed : System::Diagnostics::Tracing::EventSource
[System.Diagnostics.Tracing.EventSource(Name="Microsoft-Extensions-Logging")]
public sealed class LoggingEventSource : System.Diagnostics.Tracing.EventSource
[<System.Diagnostics.Tracing.EventSource(Name="Microsoft-Extensions-Logging")>]
type LoggingEventSource = class
    inherit EventSource
Public NotInheritable Class LoggingEventSource
Inherits EventSource
Ereditarietà
LoggingEventSource
Attributi

Esempio

Nell'esempio seguente viene illustrato come usare un EventListener per ottenere informazioni di ILogging:

class MyEventListener : EventListener 
{
    protected override void OnEventSourceCreated(EventSource eventSource) 
    {
        if (eventSource.Name == "Microsoft-Extensions-Logging") 
        {
            // initialize a string, string dictionary of arguments to pass to the EventSource.
            // Turn on loggers matching App* to Information, everything else (*) is the default level (which is EventLevel.Error)
            var args = new Dictionary<string, string>() { { "FilterSpecs", "App*:Information;*" } };
            // Set the default level (verbosity) to Error, and only ask for the formatted messages in this case.
            EnableEvents(eventSource, EventLevel.Error, LoggingEventSource.Keywords.FormattedMessage, args);
        }
    }

    protected override void OnEventWritten(EventWrittenEventArgs eventData) 
    {
        // Look for the formatted message event, which has the following argument layout (as defined in the LoggingEventSource.
        // FormattedMessage(LogLevel Level, int FactoryID, string LoggerName, string EventId, string FormattedMessage);
        if (eventData.EventName == "FormattedMessage")
            Console.WriteLine("Logger {0}: {1}", eventData.Payload[2], eventData.Payload[4]);
    }
}

Commenti

È possibile attivare questa registrazione abilitando EventSource denominato Microsoft-Extensions-Logging.

Quando è stato abilitato EventSource, l'oggetto EventLevel impostato viene tradotto nel modo ovvio al livello associato a ILogger (quindi Debug = verbose, Informational = Informational ... Critico == Critico)

In questo modo, è possibile filtrare in base al livello di evento in modo semplice.

Per il controllo finer è possibile specificare un argomento EventSource denominato FilterSpecs.

L'argomento FilterSpecs è un elenco delimitato da punti e virgola delle specifiche. In cui ogni specifica è

SPEC =                          // empty spec, same as *
     | NAME                     // Just a name the level is the default level
     | NAME : LEVEL            // specifies level for a particular logger (can have a * suffix).

Dove Name è il nome di un ILogger (case matters), Name può avere un * che funge da carattere jolly COME SUFFISSO. Pertanto, Net* corrisponderà a tutti i loggger che iniziano con 'Net'.

LEVEL è un numero o una stringa LogLevel. 0=Trace, 1=Debug, 2=Information, 3=Warning, 4=Error, Critical=5 Questo specifica il livello per il modello associato. Se il numero non è specificato, (primo formato della specifica), si tratta del livello predefinito per EventSource.

La prima corrispondenza viene usata se un nome specifico corrisponde a più di un criterio.

Oltre all'argomento Level and FilterSpec, è anche possibile impostare parole chiave EventSource. Vedere la definizione Keywords di seguito, ma in pratica è necessario scegliere tra

  • Parole chiave.Message: viene visualizzato l'evento con i dati nel formato analizzato.
  • Parole chiave.JsonMessage: si ottiene un evento con i dati nel modulo di analisi, ma come BLOB JSON (non suddiviso in base all'argomento ...)
  • Parole chiave.FormattedMessage: si ottiene un evento con i dati formattati come stringa

Si prevede che si attiva solo una di queste parole chiave alla volta, ma è possibile attivarle tutte e ottenere gli stessi dati registrati tre modi diversi.

Proprietà

ConstructionException

Ottiene un'eccezione generata durante la costruzione dell'origine evento.

(Ereditato da EventSource)
Guid

Identificatore univoco per l'origine evento.

(Ereditato da EventSource)
Name

Il nome descrittivo della classe che deriva dall'origine evento.

(Ereditato da EventSource)
Settings

Ottiene le impostazioni applicate a questa origine evento.

(Ereditato da EventSource)

Metodi

Dispose()

Rilascia tutte le risorse usate dall'istanza corrente della classe EventSource.

(Ereditato da EventSource)
Dispose(Boolean)

Rilascia le risorse non gestite usate dalla classe EventSource e facoltativamente le risorse gestite.

(Ereditato da EventSource)
Equals(Object)

Determina se l'oggetto specificato è uguale all'oggetto corrente.

(Ereditato da Object)
GetHashCode()

Funge da funzione hash predefinita.

(Ereditato da Object)
GetTrait(String)

Ottiene il valore del tratto associato alla chiave specificata.

(Ereditato da EventSource)
GetType()

Ottiene l'oggetto Type dell'istanza corrente.

(Ereditato da Object)
IsEnabled()

Determina se l'origine evento corrente è abilitata.

(Ereditato da EventSource)
IsEnabled(EventLevel, EventKeywords)

Determina se l'origine evento corrente con il livello e la parola chiave specificati è abilitata.

(Ereditato da EventSource)
IsEnabled(EventLevel, EventKeywords, EventChannel)

Determina se l'origine evento è abilitata per eventi con il livello, le parole chiave e il canale specificati.

(Ereditato da EventSource)
MemberwiseClone()

Crea una copia superficiale dell'oggetto Object corrente.

(Ereditato da Object)
OnEventCommand(EventCommandEventArgs)

Chiamato quando l'origine evento corrente viene aggiornata dal controller.

(Ereditato da EventSource)
ToString()

Ottiene una rappresentazione di stringa dell'istanza dell'origine evento corrente.

(Ereditato da EventSource)
Write(String)

Scrive un evento senza campi, ma con il nome e le opzioni predefinite specificate.

(Ereditato da EventSource)
Write(String, EventSourceOptions)

Scrive un evento senza campi, ma con il nome e le opzioni specificate.

(Ereditato da EventSource)
Write<T>(String, EventSourceOptions, Guid, Guid, T)

Scrive un evento con il nome, le opzioni, le attività correlate e i dati specificati.

(Ereditato da EventSource)
Write<T>(String, EventSourceOptions, T)

Scrive un evento con il nome, i dati e le opzioni specificate.

(Ereditato da EventSource)
Write<T>(String, EventSourceOptions, T)

Scrive un evento con il nome, le opzioni e i dati specificati.

(Ereditato da EventSource)
Write<T>(String, T)

Scrive un evento con il nome e i dati specificati.

(Ereditato da EventSource)
WriteEvent(Int32)

Scrive un evento usando l'identificatore evento fornito.

(Ereditato da EventSource)
WriteEvent(Int32, Byte[])

Scrive un evento usando l'identificatore evento fornito e gli argomenti di matrice di byte.

(Ereditato da EventSource)
WriteEvent(Int32, EventSource+EventSourcePrimitive[])

Scrive un evento usando l'identificatore di evento specificato e un numero variabile di primitive di origine evento.

(Ereditato da EventSource)
WriteEvent(Int32, Int32)

Scrive un evento usando l'identificatore evento fornito e un argomento di intero a 32 bit.

(Ereditato da EventSource)
WriteEvent(Int32, Int32, Int32)

Scrive un evento usando l'identificatore evento fornito e gli argomenti interi a 32 bit.

(Ereditato da EventSource)
WriteEvent(Int32, Int32, Int32, Int32)

Scrive un evento usando l'identificatore evento fornito e gli argomenti interi a 32 bit.

(Ereditato da EventSource)
WriteEvent(Int32, Int32, String)

Scrive un evento usando l'identificatore evento fornito e gli argomenti di stringa e interi a 32 bit.

(Ereditato da EventSource)
WriteEvent(Int32, Int64)

Scrive un evento usando l'identificatore evento fornito e un argomento di intero a 64 bit.

(Ereditato da EventSource)
WriteEvent(Int32, Int64, Byte[])

Scrive i dati dell'evento usando l'identificatore e gli argomenti di matrice di byte e di interi a 64 bit specificati.

(Ereditato da EventSource)
WriteEvent(Int32, Int64, Int64)

Scrive un evento usando l'identificatore evento fornito e gli argomenti a 64 bit.

(Ereditato da EventSource)
WriteEvent(Int32, Int64, Int64, Int64)

Scrive un evento usando l'identificatore evento fornito e gli argomenti a 64 bit.

(Ereditato da EventSource)
WriteEvent(Int32, Int64, String)

Scrive un evento usando l'identificatore evento fornito e gli argomenti di stringa e interi a 64 bit.

(Ereditato da EventSource)
WriteEvent(Int32, Object[])

Scrive un evento usando l'identificatore evento fornito e gli array di argomenti.

(Ereditato da EventSource)
WriteEvent(Int32, String)

Scrive un evento usando l'identificatore evento fornito e gli argomenti di stringa.

(Ereditato da EventSource)
WriteEvent(Int32, String, Int32)

Scrive un evento usando l'identificatore evento fornito e gli argomenti.

(Ereditato da EventSource)
WriteEvent(Int32, String, Int32, Int32)

Scrive un evento usando l'identificatore evento fornito e gli argomenti.

(Ereditato da EventSource)
WriteEvent(Int32, String, Int64)

Scrive un evento usando l'identificatore evento fornito e gli argomenti.

(Ereditato da EventSource)
WriteEvent(Int32, String, String)

Scrive un evento usando l'identificatore evento fornito e gli argomenti di stringa.

(Ereditato da EventSource)
WriteEvent(Int32, String, String, String)

Scrive un evento usando l'identificatore evento fornito e gli argomenti di stringa.

(Ereditato da EventSource)
WriteEventCore(Int32, Int32, EventSource+EventData*)

Crea un nuovo overload di WriteEvent tramite l'identificatore evento e i dati dell'evento forniti.

(Ereditato da EventSource)
WriteEventWithRelatedActivityId(Int32, Guid, Object[])

Scrive un evento che indica che l'attività corrente è correlata a un'altra attività.

(Ereditato da EventSource)
WriteEventWithRelatedActivityIdCore(Int32, Guid*, Int32, EventSource+EventData*)

Scrive un evento che indica che l'attività corrente è correlata a un'altra attività.

(Ereditato da EventSource)

Eventi

EventCommandExecuted

Si verifica quando un comando proviene da un listener di eventi.

(Ereditato da EventSource)

Si applica a