63 votes

Comment définir TraceListener personnalisé dans app.config

J'ai mis en place un écouteur de suivi personnalisé (dérivé de l' TextWriteTraceListener) et maintenant je voudrais installer mon application à l'utiliser au lieu de la norme TextWriteTraceListener.

J'ai d'abord ajouté par défaut TextWriteTraceListener afin de s'assurer qu'il fonctionne bien et il le fait. Voici l'une de mes applications.config:

<configuration>
    <system.diagnostics>
        <trace autoflush="true" indentsize="4">
            <listeners>
                <add name="TextListener"  type="System.Diagnostics.TextWriterTraceListener" initializeData="trace.log" />
            <remove name="Default" />
            </listeners>
        </trace>
    </system.diagnostics>
</configuration>

Maintenant, mon écouteur de suivi est définie en MyApp.Utils de l'espace de noms appelé" FormattedTextWriterTraceListener. J'ai donc changé le type dans la config ci-dessus pour MyApp.Utils.FormattedTextWriterTraceListener et actuellement, il ressemble à ça:

<configuration>
    <system.diagnostics>
        <trace autoflush="true" indentsize="4">
            <listeners>
                <add name="MyTextListener" type="MyApp.Utils.FormattedTextWriterTraceListener" initializeData="trace.log" />
            <remove name="Default" />
            </listeners>
        </trace>
    </system.diagnostics>
</configuration>

Mais maintenant, quand j'essaie de me connecter quelque chose que je vais avoir un ConfigurationErrorsException avec le message:

Ne pouvais pas trouver le type de classe MyApp.Utils.FormattedTextWriterTraceListener.

Personne ne sait comment définir cette coutume auditeur dans une config et si c'est encore possible?

84voto

ArsenMkrt Points 24447

Essayez également de spécifier un assemblage, comme suit:

 <configuration>
    <system.diagnostics>
        <trace autoflush="true" indentsize="4">
            <listeners>
                <add name="TextListener" 
                    type="MyApp.Utils.FormattedTextWriterTraceListener, MyApp"
                    initializeData="trace.log" />
            <remove name="Default" />
            </listeners>
        </trace>
    </system.diagnostics>
</configuration>
 

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X