从 TextWriterTraceListener 获取跟踪文件名?

问题描述 投票:0回答:3

我在我的应用程序中使用

TextWriterTraceListener
,如果文件不可用于写入跟踪,它将创建另一个带有 GUID 前缀的跟踪文件。

我感兴趣的是获取跟踪文件名。在正常情况下,我知道文件名是什么,但是当

TextWriterTraceListener
以 GUID 为前缀时,我如何预测/获取跟踪文件名?

c# .net trace system.diagnostics tracelistener
3个回答
0
投票

TextWriterTraceListener
具有
Name
属性,这不是您要找的吗?

编辑
我尝试访问您需要的信息但没有成功,主要是因为包含 app.config 信息的

SystemDiagnosticsSection
类无法访问。我认为你唯一的机会是解析 app.config 的 XML 或使用反射来访问对象的某些内部字段(我不推荐)。


0
投票

我认为 TextWriterTraceListener 有一个名为 fileName 的私有方法。我使用调试器的立即窗口来测试以下内容:

l.Name;
"textFileListener"
l.fileName;
"C:\\Tools\\Support\\PatchInstaller\\bin\\Debug\\trace.txt"

我找不到访问该私有方法 fileName 的方法。我尝试从 TextWriterTraceListener 继承,但看不到该方法。到目前为止唯一的方法是使用调试器。

查看使用本文中的 .Writer 属性


0
投票

这对我有用:

foreach (TraceListener tl in System.Diagnostics.Trace.Listeners)
{
  Response.Write("Trace listener name = '" + tl.Name + "', type = " + tl.GetType().ToString() + "<br>\n");
}
© www.soinside.com 2019 - 2024. All rights reserved.