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.
This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.
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" ) ;
}