0

Microsoft.Diagnostics.EventFlowでEventSourceを使用しようとしていますが、コンソールに出力できません。Inputs.Trace では機能するが、 Inputs.EventSourceでは機能しない例を次に示します。

myEventFLowConfig.json:

{
"type": "EventSource",

"sources": [
    {
        "providerName": "MyCompanyEventSource"
    }
],

"inputs":
[
    {
        "type": "EventSource",
        "traceLevel": "Warning"
    },
    {
        "type": "Trace",
        "traceLevel": "Warning"
    }
],

"outputs": [
    {
        "type": "StdOutput"
    }
]

}

MyEventSource.cs

[EventSource(Name = "MyCompanyEventSource")]
public class MyEventSource : EventSource
{
    public static MyEventSource Log = new MyEventSource();

    [Event(250, Message = "MESSAGE FROM EVENT SOURCE", Level = EventLevel.Warning)]
    public void MessageFromEventSource()
    {
        WriteEvent(250);
    }
}

コンソール アプリ:

public class Program
{
    static void Main(string[] args)
    {
        using (var pipeline = DiagnosticPipelineFactory.CreatePipeline("myEventFlowConfig.json"))
        {
            SomeMethod();
            Console.WriteLine("Press any key to exit...");                
            Console.ReadKey(intercept: true);
        }

    }

    private static void SomeMethod()
    {
        MyEventSource.Log.MessageFromEventSource();
        System.Diagnostics.Trace.TraceWarning("MESSAGE FROM TRACE");
    }
}

コンソール アプリでは、EventSourceTraceの両方を入力として使用していますが、Traceのみがコンソールに表示されます。コンソールに表示されないEventSourceの何が間違っていますか?

ありがとう!

4

1 に答える 1