2010-09-01 143 views
1

我正在对现有应用程序进行一些小改动,以便用户在出现问题时可以通过电子邮件向我们发送日志文件。即使它是c#应用程序正在使用Microsoft.VisualBasic.Logging.FileLogTraceListener。Microsoft.VisualBasic.Logging临时路径的确切位置

这得到设置是这样的:

FileLogTraceListener fileLogTraceListener = listener as FileLogTraceListener; 
fileLogTraceListener.Location = LogFileLocation.TempDirectory; 

我的问题是:在哪里日志文件去?

Path.GetTempPath()是否一样?

我已经看到了一堆其他职位问类似的问题,但我需要确保这个应用程序运行在它的任何计算机/操作系统能够拿起日志。我认为没有办法在FileLogTraceListener类中查看使用temp时的功能?

回答

0

它和Path.getTempPath()是一样的地方。反射显示我:

private string get_LogFileName() 
{ 
    string tempPath; 
    switch (this.Location) 
    { 
     case LogFileLocation.TempDirectory: 
      tempPath = Path.GetTempPath(); 
      break; 

+1内特布罗斯 - 反射器帮助找到答案

2

失败的文档,你可以:

  • 使用Reflector看Sysinternals公司的源
  • 使用Process Monitor,看看你的IO进程正在做什么。
  • 编写一个测试应用程序,使两个文件,其中一个使用Path.GetTempPath(),另一个使用VB Logger。
+1

或贴就行了断点,检查值 – Pondidum 2010-09-01 15:03:35

+0

谢谢我会看看反射 - 我知道他们写在我的电脑上的同一个地方,但担心它可以在Vista,Windows服务器等下工作不同。 – 2010-09-01 15:07:19

+1

@Pondidum它看起来像它的一个枚举,所以我不认为它会有一个真正的路径在运行时,至少这是公开的类。 – Nate 2010-09-01 15:18:58