2010-09-01 113 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