TraceListener.GetSupportedAttributes Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Obtient les attributs personnalisés pris en charge par l'écouteur de trace.
protected:
virtual cli::array <System::String ^> ^ GetSupportedAttributes();
protected public:
virtual cli::array <System::String ^> ^ GetSupportedAttributes();
protected virtual string[]? GetSupportedAttributes ();
protected virtual string[] GetSupportedAttributes ();
protected internal virtual string[] GetSupportedAttributes ();
abstract member GetSupportedAttributes : unit -> string[]
override this.GetSupportedAttributes : unit -> string[]
Protected Overridable Function GetSupportedAttributes () As String()
Protected Friend Overridable Function GetSupportedAttributes () As String()
Retours
Tableau de chaînes qui nomme les attributs personnalisés pris en charge par l'écouteur de trace, ou null
s'il n'y a pas d'attributs personnalisés.
Exemples
L’exemple de code suivant montre un remplacement de la GetSupportedAttributes méthode pour un écouteur de suivi personnalisé.
// This code example uses the following application configuration file:
//<?xml version="1.0" encoding="utf-8"?>
// <source name="TraceTest" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >
// <add name="Testlistener" />
// <add name="SourceSwitch" value="Warning" />
// <add name="Testlistener" type="CustomTraceListener.TestListener, CustomTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" initializeData="TestListener" Source="test"/>
// <trace autoflush="true" indentsize="4" />
using System;
using System.Diagnostics;
using System.Configuration;
using System.Reflection;
using System.Collections;
namespace CustomTraceListener
{
class Program
{
static void Main(string[] args)
{
TraceSource ts = new TraceSource("TraceTest");
Console.WriteLine(ts.Switch.DisplayName);
foreach (TraceListener traceListener in ts.Listeners)
{
Console.Write("TraceListener: " + traceListener.Name + "\t");
// The following output can be used to update the configuration file.
Console.WriteLine("AssemblyQualifiedName = " +
(traceListener.GetType().AssemblyQualifiedName));
}
ts.TraceEvent(TraceEventType.Error, 1, "test error message");
}
}
public class TestListener : TraceListener
{
string source;
string name;
public TestListener(string listenerName)
{
name = listenerName;
}
public string Source
{
get
{
foreach (DictionaryEntry de in this.Attributes)
if (de.Key.ToString().ToLower() == "source")
source = de.Value.ToString();
return source;
}
set { source = value; }
}
public override void Write(string s)
{
Console.Write(name + " " + Source + ": " + s);
}
public override void WriteLine(string s)
{
Console.WriteLine(s);
}
protected override string[] GetSupportedAttributes()
{
return new string[] { "Source" };
}
}
}
// This code example creates the following output:
/*
SourceSwitch
TraceListener: Default AssemblyQualifiedName = System.Diagnostics.DefaultTraceL
istener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0
89
TraceListener: Testlistener AssemblyQualifiedName = CustomTraceListener.Test
Listener, CustomTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=
null
TestListener test: TraceTest Error: 1 : test error message
*/
' This code example uses the following application configuration file:
'<?xml version="1.0" encoding="utf-8"?>
' <source name="TraceTest" switchName="SourceSwitch" switchType="System.Diagnostics.SourceSwitch" >
' <add name="Testlistener" />
' <add name="SourceSwitch" value="Warning" />
' <add name="Testlistener" type="CustomTraceListener.TestListener, CustomTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" initializeData="TestListener" Source="test"/>
' <trace autoflush="true" indentsize="4" />
Imports System.Diagnostics
Imports System.Configuration
Imports System.Reflection
Imports System.Collections
Namespace CustomTraceListener
Class Program
Shared Sub Main(ByVal args() As String)
Dim ts As New TraceSource("TraceTest")
Console.WriteLine(ts.Switch.DisplayName)
Dim traceListener As TraceListener
For Each traceListener In ts.Listeners
Console.Write("TraceListener: " + traceListener.Name + vbTab)
' The following output can be used to update the configuration file.
Console.WriteLine("AssemblyQualifiedName = " + traceListener.GetType().AssemblyQualifiedName)
Next traceListener
ts.TraceEvent(TraceEventType.Error, 1, "test error message")
End Sub
End Class
Public Class TestListener
Inherits TraceListener
Private [m_source] As String
Private m_name As String
Public Sub New(ByVal listenerName As String)
m_name = listenerName
End Sub
Public Property [Source]() As String
Get
Dim de As DictionaryEntry
For Each de In Me.Attributes
If de.Key.ToString().ToLower() = "source" Then
[Source] = de.Value.ToString()
End If
Next de
Return [m_source]
End Get
Set(ByVal value As String)
[m_source] = value
End Set
End Property
Public Overrides Sub Write(ByVal s As String)
Console.Write(m_name + " " + [Source] + ": " + s)
End Sub
Public Overrides Sub WriteLine(ByVal s As String)
Console.WriteLine(s)
End Sub
Protected Overrides Function GetSupportedAttributes() As String()
Return New String() {"Source"}
End Function 'GetSupportedAttributes
End Class
End Namespace 'CustomTraceListener
' This code example creates the following output:
'
'SourceSwitch
'TraceListener: Default AssemblyQualifiedName = System.Diagnostics.DefaultTraceL
'istener, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e0
'89
'TraceListener: Testlistener AssemblyQualifiedName = CustomTraceListener.Test
'Listener, CustomTraceListener, Version=1.0.0.0, Culture=neutral, PublicKeyToken=
'null
'TestListener test: TraceTest Error: 1 : test error message
'
Remarques
L’implémentation par défaut pour GetSupportedAttributes retourne null
.
Notes pour les héritiers
Lorsque vous héritez de la TraceListener classe ou d’une classe dérivée, vous pouvez remplacer la GetSupportedAttributes() méthode pour fournir des attributs personnalisés pour votre classe.