1读书的TraceListener

1读书的TraceListener

本文介绍了从配置.NET 1.1读书的TraceListener initializedata财产的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下的配置文件:

 < System.Diagnostics程序>
    &所述;跟踪自动冲洗=真indentsize =1>
      <听众>
        <添加名称=dbgTraceTYPE =System.Diagnostics.TextWriterTraceListenerinitializeData =C:\ MyLogs \ MyApp的\日志\ LOGFILE.LOG/>
      < /听众>
    < /跟踪>
  < /system.diagnostics>
 

因此​​,我可以这样写的tracelisteners系列:

  TraceListenerCollection的TLC = System.Diagnostics.Trace.Listeners;
 

和从中获得的TraceListener,但问题是,我无法访问initializeData财产。只有名称,类型,IndentLevel的公共属性。

有没有什么解决办法?

解决方案

  System.Reflection.FieldInfo fInfo = OurListener.GetType()。getfield命令(initializeData,System.Reflection.BindingFlags .NonPublic | System.Reflection.BindingFlags.Instance);字符串的文件路径=(字符串)fInfo.GetValue(OurListener);
 

I have the following config file:

  <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>

So I can read the tracelisteners collection like this:

TraceListenerCollection tlc = System.Diagnostics.Trace.Listeners;

and get the TraceListener from it, but the problem is, that I can not access initializeData property. There are only Name, Type, IndentLevel as public properties.

Is there any workaround?

解决方案
System.Reflection.FieldInfo fInfo = OurListener.GetType().GetField("initializeData", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); string filePath = (string)fInfo.GetValue(OurListener);

这篇关于从配置.NET 1.1读书的TraceListener initializedata财产的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-21 15:32