То, что вы хотите, это использовать 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
. Важной вещью является *
. Источник событий регистрирует манифест с определениями через ManifestEvent , который добавляется в ETL, поэтому регистрация манифеста не требуется.