.NET je le fichier de configuration suivante:lecture TraceListener initializeData propriété de config 1.1
<system.diagnostics>
<trace autoflush="true" indentsize="1" >
<listeners>
<add name="dbgTrace" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\MyLogs\MyApp\Logs\LogFile.log" />
</listeners>
</trace>
</system.diagnostics>
Je peux donc lire la collection tracelisteners comme ceci:
TraceListenerCollection tlc = System.Diagnostics.Trace.Listeners;
et obtenir le TraceListener de celui-ci, mais le problème est que je ne peux pas accéder à la propriété initializeData. Il n'y a que Name, Type, IndentLevel en tant que propriétés publiques.
Y a-t-il une solution de contournement?
cela se bloque si le fichier n'existe pas dans le système de fichiers. En fait, c'est la raison pour laquelle j'ai besoin de cette information - pour créer un fichier et un dossier: Cela devrait le faire, bien que la valeur que j'obtienne soit nulle:/ System.Reflection.FieldInfo fInfo = OurListener.GetType(). GetField ("initializeData" , System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); chaîne filePath = (chaîne) fInfo.GetValue (OurListener); –