You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
|
|
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");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|