2012-10-28 4 views
7

Nel mio web.config ho:Come posso ottenere l'attuale Trace Switch in modo programmato?

<system.diagnostics> 
    <switches> 
    <add name="logLevelSwitch" value="1" /> 
    </switches> 
</system.diagnostics> 

C'è un modo che potrei chiamare, ad esempio:

System.Diagnostics.TraceSwitch["logLevelSwitch"] per ottenere il valore corrente?

+0

ha u ottenere alcuna soluzione per questo? –

risposta

4

Una volta definito il valore interruttore nel file web.config, è facile ottenere questo valore dall'applicazione creando un TraceSwitch con lo stesso nome:

private static TraceSwitch logSwitch = new TraceSwitch("logLevelSwitch", 
    "This is your logLevelSwitch in the config file"); 

public static void Main(string[] args) 
{ 
    // you can get its properties value then: 
    Console.WriteLine("Trace switch {0} is configured as {1}", 
     logSwitch.DisplayName, 
     logSwitch.Level.ToString()); 

    // and you can use it like this: 
    if (logSwitch.TraceError) 
     Trace.WriteLine("This is an error"); 

    // or like this also: 
    Trace.WriteLineIf(logSwitch.TraceWarning, "This is a warning"); 
} 

Inoltre, per far funzionare tutto questo, secondo alla documentazione:

È necessario abilitare la traccia o il debug per utilizzare uno switch. La seguente sintassi è specifica del compilatore. Se si utilizzano compilatori diversi da C# o Visual Basic, consultare la documentazione del compilatore.

Per enabledebugging in C#, aggiungere il flag /d:DEBUG alla riga di comando del compilatore quando si compila il codice, oppure è possibile aggiungere #define DEBUG in cima file. In Visual Basic, aggiungere il flag /d:DEBUG=True alla riga di comando del compilatore .

abilitare la traccia utilizzando in C#, aggiungere il flag /d:TRACE al la riga di comando del compilatore quando si compila il codice, o di aggiungere #define TRACE alla parte superiore del file. In Visual Basic, aggiungere il flag alla riga di comando del compilatore.

+1

non lavoro per me. dice sempre "off". –

+1

@bilalfazlani Verifica se la mia modifica è di alcun aiuto –

+0

Ciò è stato utile. Grazie! –