你想要的是使用EventSource。在这里,您不需要处理 GUID 和系统注册。
public sealed class MinimalEventSource : EventSource
{
public class Tasks
{
public const EventTask Information = (EventTask)1;
}
public static MinimalEventSource Log = new MinimalEventSource();
[Event(1, Message = "{0}", Opcode = EventOpcode.Info, Task = Tasks.Information)]
public void Information(string message)
{
if (IsEnabled())
{
WriteEvent(1, message);
}
}
}
Lof数据MinimalEventSource.Log.Information("my debug info");
并使用 perfview 捕获它们PerfView /OnlyProviders=*MinimalEventSource
。重要的是*
。Eventsource 通过添加到 ETL 的 ManifestEvent 记录带有定义的清单,因此不需要清单注册。