我正在編寫一個簡單的實用程序來獲取應用程序日誌並將它們顯示給用戶。它需要從多個文件中取出日誌條目並將它們合併到單個內部存儲中。合併基於日誌輸入時間,因此多個條目可能具有相同的時間。請注意,日誌的大小相當小,因此最大大小可能爲10個文件,每個文件包含2,000個日誌條目。快速插入和過濾的最佳數據結構
我也想把這個呈現給用戶,但是允許他們根據不同的日誌級別(調試,警告,錯誤等等)進行過濾,並根據它來自的文件進行過濾。這聽起來像是一種非常常見的問題,所以其他人必須具備最佳方法的經驗。我曾想到以下內容......
1,使用DataSet存儲日誌條目,然後使用DataView應用過濾,排序。
2,使用一對列表<>實例,一個主,然後是過濾到所需條目的副本,並將自定義IComparer函數應用於過濾列表以獲得正確的排序。
想法?
這是什麼類型的應用程序,即您可以在初始加載+合併和每個過濾請求之間保持數據集/列表/附件多長時間? –
這個想法是觀察一個實時應用程序並監視它們生成時的日誌。到數據集/列表將更新每秒幾條記錄,用戶可以交互過濾。初始加載允許在應用程序啓動時加載最近的消息。 –
您是否已經解決了在其他應用程序正在寫入文本文件時打開/監視文本文件的問題,以及是否只檢測並只讀取這些文本文件中的最新行?只是檢查,同時考慮答案 –