2011-04-17 102 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。没有看到文件的格式,不可能给出更具体的答案。