2009-12-29 122 views
3

我正在使用MS日誌記錄應用程序塊將我的應用程序事件記錄到位於c:\ temp文件夾中的名爲app-trace.log的文件中。Microsoft企業日誌記錄應用程序塊 - 讀取日誌文件

我試圖找到在運行時讀取此文件的最佳方式,並在用戶請求時顯示它。

我有2個問題:

  1. 看來,這種功能不被框架支持,所以我必須寫這個讀者自己。我在這裏錯過了什麼嗎?有沒有更好的方法來獲取這些數據(無需將其緩存在內存中或將其保存到另一個文件中)?

  2. 如果我走,唯一的選擇留給我,貫徹讀者自己,當我試圖做的事:

    System.IO.FileStream fs = new System.IO.FileStream(@"c:\temp\app-trace.log", FileMode.Open, FileAccess.Read);

    我收到「文件正在被另一個處理c#「。可能文件被應用程序塊鎖定。無論如何,有沒有辦法訪問和閱讀它?

回答

2

企業庫不支持此操作。

如果必須檢索文件中的數據,那麼你應該能夠通過做以下幾點:

FileStream fs = new FileStream(@"c:\trace.log", FileMode.Open, FileAccess.Read, FileShare.ReadWrite); 


我很好奇,爲什麼用戶需要訪問日誌文件?是否支持?如果這是一個服務器應用程序,那麼我可能會認真考慮記錄到數據庫,然後在用戶想要查看日誌信息時從數據庫中檢索數據。

相關問題