using System.Diagnostics; using LogStudy.TraceLog; Console.WriteLine("======== 跟踪日志学习 ========"); UseDefaultListener(); UseCustomListener(); //使用默认监听器 void UseDefaultListener() { var source = new TraceSource("TraceLog", SourceLevels.All); var eventTypes = (TraceEventType[])Enum.GetValues(typeof(TraceEventType)); var eventId = 1; source.Listeners[0].IndentLevel = 1; Array.ForEach(eventTypes, it => { source.TraceEvent(it, eventId++, $"这是一个 {eventTypes} 跟踪日志信息"); }); } //使用自定义监听器 void UseCustomListener() { var source = new TraceSource("ConsoleListenerTraceLog", SourceLevels.All); source.Listeners.Clear(); var customListener = new CustomTraceListener(); var index = source.Listeners.Add(customListener); //放在 source.Listeners.Add 前面设置IndentLevel,add之后就自动归零,不知道什么原因。 customListener.IndentLevel = 1; //或者 //source.Listeners[index].IndentLevel = 1; source.TraceEvent(TraceEventType.Error, 1, $"这是一个 {TraceEventType.Error} 跟踪日志信息"); source.TraceInformation("我是TraceInformation"); }