10 [EventSource(
Name =
"IKVM")]
22 DiagnosticEventSource() : base(EventSourceSettings.EtwSelfDescribingEventFormat | EventSourceSettings.ThrowOnEventWriteErrors)
31 return IsEnabled(ToLevel(diagnostic.Level), EventKeywords.All);
45 DiagnosticLevel.Trace => EventLevel.Verbose,
46 DiagnosticLevel.Info => EventLevel.Informational,
47 DiagnosticLevel.Warning => EventLevel.Warning,
48 DiagnosticLevel.Error => EventLevel.Error,
49 DiagnosticLevel.Fatal => EventLevel.Critical,
50 _ =>
throw new NotImplementedException()
55 void WriteEvent(
int eventId,
string arg0,
string arg1,
string arg2,
string arg3)
62 fixed (
char* arg0Ptr = arg0)
63 fixed (
char* arg1Ptr = arg1)
64 fixed (
char* arg2Ptr = arg2)
65 fixed (
char* arg3Ptr = arg3)
67 var ptr = stackalloc EventData[4];
68 ptr[0].DataPointer = (IntPtr)arg0Ptr;
69 ptr[0].Size = (arg0.Length + 1) * 2;
70 ptr[1].DataPointer = (IntPtr)arg1Ptr;
71 ptr[1].Size = (arg1.Length + 1) * 2;
72 ptr[2].DataPointer = (IntPtr)arg2Ptr;
73 ptr[2].Size = (arg2.Length + 1) * 2;
74 ptr[3].DataPointer = (IntPtr)arg3Ptr;
75 ptr[3].Size = (arg3.Length + 1) * 2;
76 WriteEventCore(eventId, 4, ptr);