如何使用c#.net在日志文件中搜索关键字。如何使用c#.net搜索日志文件中的关键字.net
我有一个日志文件,其中包含一些关键词,如ipaddress,userid等,我需要解析日志文件并获取数据并在网格视图中显示。
在C#
任何suggetions谢谢 jagadeesh库马尔。
如何使用c#.net在日志文件中搜索关键字。如何使用c#.net搜索日志文件中的关键字.net
我有一个日志文件,其中包含一些关键词,如ipaddress,userid等,我需要解析日志文件并获取数据并在网格视图中显示。
在C#
任何suggetions谢谢 jagadeesh库马尔。
我不知道该文件有哪些格式完全相同,但我会建议你使用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来解析文件,甚至每一行。
祝你好运,亚历克斯
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
非常感谢 – user712164 2011-04-18 12:11:56
使用读卡器读取该文件,然后一个正则表达式,每行找到你想要的东西..
var reader = new StreamReader("path/to/file");
string line;
while ((line = reader.ReadLine()) != null)
{
//parse the line here.
}
见tutorial about regular expressions from Microsoft。没有看到文件的格式,不可能给出更具体的答案。
什么是LogFile的格式..是纯文本文件..它是否以特定方式格式化数据 – 2011-04-17 13:47:59
只是一个建议,但您可能想尝试Microsoft Log Parser – manojlds 2011-04-17 18:26:01