次の方法で共有


LoggingEventSource クラス

定義

LoggingEventSource は、ILogger ベースのすべてのログ記録から 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
継承
LoggingEventSource
属性

次の例は、EventListener を使用して 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]);
    }
}

注釈

このログ記録を有効にするには、 という名前 Microsoft-Extensions-Loggingの EventSource を有効にします。

EventSource を有効にすると、設定した EventLevel は、ILogger に関連付けられているレベルに明らかな方法で変換されます (したがって、Debug = verbose、Informational = Informational ...Critical == Critical)

これにより、簡単な方法で、イベント レベルでフィルター処理できます。

より細かく制御するには、 という名前 FilterSpecsの EventSource 引数を指定できます。

引数は FilterSpecs 、セミコロンで区切られた仕様の一覧です。 各仕様は次のとおりです。

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

ここで、Name は ILogger の名前 (大文字と小文字) です。Name にはワイルドカード AS A SUFFIX として機能する * を指定できます。 したがって、Net* は 'Net' で始まるロガーと一致します。

LEVEL は、数値または LogLevel 文字列です。 0=Trace、1=Debug、2=Information、3=Warning、4=Error、Critical=5 関連付けられたパターンのレベルを指定します。 数値が指定されていない場合 (仕様の最初の形式)、EventSource の既定のレベルになります。

特定の名前が複数のパターンに一致する場合は、最初に一致するものが使用されます。

level 引数と FilterSpec 引数に加えて、EventSource Keywords を設定することもできます。 以下の Keywords の定義を参照してください。しかし、基本的には、含める必要があるかどうかを判断することになります

  • Keywords.Message - 解析された形式のデータを含むイベントを取得します。
  • Keywords.JsonMessage - データを解析形式で、JSON BLOB としてイベントを取得します (引数 ...によって分割されません)。
  • Keywords.FormattedMessage - データが文字列として書式設定されたイベントを取得します

これらのキーワードの 1 つのみを一度にオンにすることが予想されますが、すべて有効にして、同じデータを 3 つの異なる方法でログに記録できます。

プロパティ

ConstructionException

イベント ソースの作成中にスローされた例外を取得します。

(継承元 EventSource)
Guid

イベント ソースの一意の識別子。

(継承元 EventSource)
Name

イベント ソースから派生するクラスの表示名。

(継承元 EventSource)
Settings

このイベント ソースに適用される設定を取得します。

(継承元 EventSource)

メソッド

Dispose()

EventSource クラスの現在のインスタンスによって使用されているすべてのリソースを解放します。

(継承元 EventSource)
Dispose(Boolean)

EventSource クラスによって使用されているアンマネージド リソースを解放し、オプションでマネージド リソースも解放します。

(継承元 EventSource)
Equals(Object)

指定されたオブジェクトが現在のオブジェクトと等しいかどうかを判断します。

(継承元 Object)
GetHashCode()

既定のハッシュ関数として機能します。

(継承元 Object)
GetTrait(String)

指定したキーに関連付けられている特徴値を取得します。

(継承元 EventSource)
GetType()

現在のインスタンスの Type を取得します。

(継承元 Object)
IsEnabled()

現在のイベント ソースが有効かどうかを判断します。

(継承元 EventSource)
IsEnabled(EventLevel, EventKeywords)

指定したレベルとキーワードを持つ現在のイベント ソースが有効かどうかを判断します。

(継承元 EventSource)
IsEnabled(EventLevel, EventKeywords, EventChannel)

現在のイベント ソースが、指定したレベル、キーワード、およびチャネルを持つイベントに対して有効かどうかを判断します。

(継承元 EventSource)
MemberwiseClone()

現在の Object の簡易コピーを作成します。

(継承元 Object)
OnEventCommand(EventCommandEventArgs)

現在のイベント ソースがコントローラーによって更新されるときに呼び出されます。

(継承元 EventSource)
ToString()

現在のイベント ソース インスタンスを文字列で表現したものを取得します。

(継承元 EventSource)
Write(String)

フィールドを除いてイベントを書き込みます。ただし、指定した名前および既定のオプションを含みます。

(継承元 EventSource)
Write(String, EventSourceOptions)

フィールドを除いてイベントを書き込みます。ただし、指定した名前およびオプションを含みます。

(継承元 EventSource)
Write<T>(String, EventSourceOptions, Guid, Guid, T)

指定した名前、オプション、関連するアクティビティ、およびイベント データを使用してイベントを書き込みます。

(継承元 EventSource)
Write<T>(String, EventSourceOptions, T)

指定した名前、イベント データ、およびオプションを使用してイベントを書き込みます。

(継承元 EventSource)
Write<T>(String, EventSourceOptions, T)

指定した名前、オプション、およびイベント データを使用してイベントを書き込みます。

(継承元 EventSource)
Write<T>(String, T)

指定した名前とデータを使用してイベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32)

指定されたイベント識別子を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, Byte[])

指定されたイベント識別子とバイト配列引数を使用してイベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, EventSource+EventSourcePrimitive[])

指定されたイベント識別子と、イベント ソース プリミティブの可変数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, Int32)

指定されたイベント識別子と 32 ビット整数引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, Int32, Int32)

指定されたイベント識別子と 32 ビット整数引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, Int32, Int32, Int32)

指定されたイベント識別子と 32 ビット整数引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, Int32, String)

指定されたイベント識別子と 32 ビット整数および文字列引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, Int64)

指定されたイベント識別子と 64 ビット整数引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, Int64, Byte[])

指定した識別子と 64 ビット整数およびバイト配列引数を使用して、イベント データを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, Int64, Int64)

指定されたイベント識別子と 64 ビットの引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, Int64, Int64, Int64)

指定されたイベント識別子と 64 ビットの引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, Int64, String)

指定されたイベント識別子と 64 ビット整数および文字列引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, Object[])

指定されたイベント識別子と引数の配列を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, String)

指定されたイベント識別子と文字列引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, String, Int32)

指定されたイベント識別子と引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, String, Int32, Int32)

指定されたイベント識別子と引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, String, Int64)

指定されたイベント識別子と引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, String, String)

指定されたイベント識別子と文字列引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEvent(Int32, String, String, String)

指定されたイベント識別子と文字列引数を使用して、イベントを書き込みます。

(継承元 EventSource)
WriteEventCore(Int32, Int32, EventSource+EventData*)

指定したイベント識別子およびイベント データを使用して、WriteEvent の新しいオーバーロードを作成します。

(継承元 EventSource)
WriteEventWithRelatedActivityId(Int32, Guid, Object[])

現在のアクティビティが別のアクティビティに関連していることを示すイベントを書き込みます。

(継承元 EventSource)
WriteEventWithRelatedActivityIdCore(Int32, Guid*, Int32, EventSource+EventData*)

現在のアクティビティが別のアクティビティに関連していることを示すイベントを書き込みます。

(継承元 EventSource)

イベント

EventCommandExecuted

コマンドのソースがイベント リスナーのときに発生します。

(継承元 EventSource)

適用対象