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.

46 lines
1.1 KiB
C#

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