如何以文本格式读取日志文件并仅显示所需内容?

时间:2018-02-08 02:56:05

标签: vb.net

我想从其他应用程序生成日志的文件夹中读取文本格式的日志文件。问题是我可以读取整个文件,但我想只打印每行的某些部分而另一个问题是每5秒生成一次日志并保存到文件夹我想每隔5秒自动选择一个新文件来显示更新的数据。

日志文件数据如下所示:

CPU Load : 4% 
---------- 

Memory Free : 7137 MB 
------------- 

Disk Space (Percent Free) : 
--------------------------- 
Disk C : 34% 
Disk D : 81% 
Disk E : 91% 
Disk F : 81% 
Disk S : 58% 
Disk W : 86% 

Services Status : 
----------------- 
Apache Tomcat 7.0 Tomcat7 .......... : Running  
load_mnemonics_file ................ : Running  
load_vehicle_id_file ............... : Running  
Microsoft FTP Service .............. : Running  
OracleOraDb11g_home1TNSListenerr1o21 : Running  
OracleServicer1o21 ................. : Running  
World Wide Web Publishing Service .. : Running  

Oracle : 
-------- 
Tablespace Index : 80% 
Tablespace Data  : 61% 
Sequence ....... : Correct

我想加载每行的百分比。

1 个答案:

答案 0 :(得分:0)

您可以使用Stream Reader

执行此操作
Dim objStreamReader As StreamReader
Dim strLine As String
objStreamReader = New StreamReader("C:\example\test.txt")
strLine = objStreamReader.ReadLine

然后你可以开始读取行的文件行并捕获你需要的所有信息

        Do While Not strLine Is Nothing
            If strLine.Contains("CPU Load") Then
                CPULoad = Replace(strLine, "CPU Load : ", "") 
                'this will replace the "CPU Load : " with nothing so that only the 4% get saved.
            End If
            'place for more
            Console.WriteLine(strLine)
            strLine = objStreamReader.ReadLine
        Loop
        'finish
        objStreamReader.Close()

我在此示例中仅使用CPU Load进行了此操作。希望这能带给你正确的轨道:)