从日志文件中只读标题行

时间:2013-02-26 12:56:07

标签: .net

在我的工作场所,如果设置了所有参数,我们的日志文件可以增长到千兆字节。这些文件的格式为:

[HEADER ROW 1]
  XML LINE 1
  XML LINE 2
  . . .
  XML LINE x
[HEADER ROW 2]
  XML LINE 1
  XML LINE 2
  . . .
  XML LINE y
.  .  .
[HEADER ROW n]
  XML LINE 1
  XML LINE 2
  . . .
  XML LINE z

标题行包含有用的信息,例如消息的日期时间戳及其常规类型。解析整个文件需要很长时间,所以理想情况下我想在日志文件中进行初始传递,忽略除“[”之外的所有行。但是,我对各种.NET IO类没有经验。有人可以推荐一种有效的方法吗?

哦,我忘了 - 这必须使用一个文件,该文件目前在另一个进程中可以写入。没什么大问题: - )

1 个答案:

答案 0 :(得分:0)

我认为使用StreamReader是正确的方法。你甚至可以异步读取文件!

您还可以创建一个程序,从Console中读取行并写入正确的行。然后你可以使用这样的命令行:

C:\type LOGFILE | PROGRAM

或者,您可以使用类似grep的程序,例如WinGrep