我正在改裝舊的vb.net應用程序,以使其符合Vista中的LUA原則。到目前爲止,應用程序已經使用了大量的日誌記錄機制,但核心的一個涉及如果文件夾存在,將日誌寫入c:\ temp \。我想用更標準的日誌記錄機制替換當前的日誌記錄。如何以編程方式確定VB應用程序日誌的位置?
這是VB,我決定嘗試使用My.Application.Log
與app.config一起使用,並且儘可能地發揮作用(儘管我沒有想到它會轉儲到漫遊配置文件中)。不幸的是,用戶習慣使用來自日誌的信息進行故障排除,並且在提交錯誤時發送日誌,並且移動該日誌隱藏它很好。
我的想法是通過在應用程序的用戶界面中添加指向它的鏈接或者至少包含它的文件夾,使日誌更容易訪問。但是,我不知道如何確定鏈接將指向的位置。
編輯(用戶互動,增加信息):
我的配置文件是或多或少內置默認:
<system.diagnostics>
<sources>
<source name="Error Log" switchName="DefaultSwitch">
<listeners>
<add name="FileLog"/>
</listeners>
</source>
</sources>
<switches>
<add name="DefaultSwitch" value="Information" />
</switches>
<sharedListeners>
<add name="FileLog"
type="Microsoft.VisualBasic.Logging.FileLogTraceListener, Microsoft.VisualBasic, Version=8.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL"
initializeData="FileLogWriter"/>
</sharedListeners>
</system.diagnostics>
我想設置一些屬性上FileLogTraceListener在配置文件。 MaxSize,例如(有一個以前的最大尺寸的行爲)。儘管如此,我沒有看到任何文檔可以調用它。 (在FileLogTraceListener page的底部有一些社區內容,這表明我應該能夠,所以我會檢查一下,如果我發現一些官方文檔支持,我會更加舒適。)
如果我這樣做,我應該能夠遍歷My.Application.Log
上的跟蹤偵聽器集合,並鏈接到第一個FileLogTraceListener的FullLogFileName。
如果可能的話,我寧願堅持使用VB中更多的VB-y解決方案。 – 2009-01-26 15:21:10