2011-04-17 64 views
0

如何使用c#.net在日誌文件中搜索關鍵字。如何使用c#.net搜索日誌文件中的關鍵字.net

我有一個日誌文件,其中包含一些關鍵詞,如ipaddress,userid等,我需要解析日誌文件並獲取數據並在網格視圖中顯示。

在C#

任何suggetions謝謝 jagadeesh庫馬爾。

+0

什麼是LogFile的格式..是純文本文件..它是否以特定方式格式化數據 – 2011-04-17 13:47:59

+0

只是一個建議,但您可能想嘗試Microsoft Log Parser – manojlds 2011-04-17 18:26:01

回答

0

我不知道該文件有哪些格式完全相同,但我會建議你使用StreamReader讀取該文件,然後在\n拆分它,然後再處理每一行...


這是這樣,然後就看財產以後(未測試):

string wholeFile = ""; 
using(StreamReader str = new StreamReader(path)) 
{ 
    wholeFile = str.ReadToEnd(); 
} 
string[] lines = wholeFile.Split('\n').Replace("\r", ""); 
for(int i = 0; i < lines.Length; i++) 
{ 
    //parse the line 
    string line = lines[i]; 
    if(line.Trim().StartsWith("ipaddress")) 
    { 
     string value = line.Trim().Replace("ipaddress", ""); 
     //Do something with the value here... 
    } 
} 

你也可以考慮使用RegExp來解析文件,甚至每一行。

祝你好運,亞歷克斯

+0

59.92.241.135 - - 「2009- 08-09 00:34:59「」POST /processlogin.php?next=%2F HTTP/1.1「302 22」http://www.enggresources.com/「」Mozilla/5.0(Windows; U; Windows NT 5.1 ; en-US; rv:1.9.0.13)Gecko/2009073022 Firefox/3.0.13(.NET CLR 3.5.30729)「 – user712164 2011-04-18 05:21:55

+0

非常感謝 – user712164 2011-04-18 12:11:56

0

使用讀卡器讀取該文件,然後一個正則表達式,每行找到你想要的東西..

var reader = new StreamReader("path/to/file"); 
string line; 
while ((line = reader.ReadLine()) != null) 
{ 
    //parse the line here. 
} 

tutorial about regular expressions from Microsoft。沒有看到文件的格式,不可能給出更具體的答案。

相關問題