J'essaie d'apprendre les fonctions intégrées de traçage. Je n'arrive pas à comprendre comment utiliser la config pour définir le niveau (information, warn, error) qui s'écrit à mon écoute.comment contrôler le niveau d'un écouteur de trace dans le fichier de configuration
J'ai le fichier app.config par défaut. Dans mon code, j'utilise Trace.TraceInformation() et Trace.TraceError.
Tous les messages sont écrits dans mon fichier texte. Je veux pouvoir changer quelque chose dans le fichier app.config pour qu'il enregistre des messages d'information ou simplement des messages d'erreur.
Module1.vb
Sub Main(ByVal args() As String)
Dim index As Integer = 0
For Each arg As String In args
Trace.TraceInformation(String.Format("Sub Main(): arg({1}) = {0}", arg, index))
Trace.Flush()
If arg.Split("=").Count = 2 Then
If String.Compare(arg.Split("=")(0), "mode", True) = 0 Then _Mode = arg.Split("=")(1)
End If
index += 1
Next
End Sub
app.config
<sources>
<!-- This section defines the logging configuration for My.Application.Log -->
<source name="DefaultSource">
<listeners>
<add name="FileLog"/>
<!-- Uncomment the below section to write to the Application Event Log -->
<!--<add name="EventLog"/>-->
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="1" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
<!-- Uncomment the below section and replace APPLICATION_NAME with the name of your application to write to the Application Event Log -->
<!--<add name="EventLog" type="System.Diagnostics.EventLogTraceListener" initializeData="HealthSurvey Console"/> -->
</sharedListeners>
</system.diagnostics>
Je voudrais mettre l'accent sur les méthodes ce hors de Trace appelé TraceInformation, TraceError, TraceWarning. – MADCookie
En regardant le code source de l'infrastructure, je suspecte que les méthodes Trace.TraceX ne prennent pas en charge les commutateurs. (d'où la raison pour laquelle vous deviez utiliser un filtre). – Schneider
Pensez peut-être que vous devez utiliser TraceSource pour utiliser TraceSwitches, et Trace.TraceX statique ne pas utiliser un TraceSource – Schneider