从c#程序中的日志文件中获取数据

时间:2012-10-06 11:29:08

标签: c#

我正在尝试研究如何创建一个c#程序,该程序可以查看始终使用新数据更新的日志文件中的数据。日志文件中的数据如下所示:

  

CPU2:memory5(50070)CPU3:drive7(500)CPU6:memory10(1000)CPU2:   memory5(50700)CPU2:memory5(60070)CPU3:drive7(500)CPU6:   memory10(1000)CPU2:memory5(70000)CPU3:drive7(500)CPU6:   memory10(1000)。

从日志文件中读取数据后,我希望能够列出日志文件中的最新数据,memory5的示例,包括之前的数据,[CPU2:]和数据之后,[70000]以便程序不断监控日志文件并报告上述memory5的最新数据,它会显示CPU2: memory5 (70000)

非常感谢

1 个答案:

答案 0 :(得分:0)

试试这个:

private void LoadFile()
{
    try
    {
        using(FileStream fileStream = new FileStream(
            "logs/myapp.log",
            FileMode.Open,
            FileAccess.Read,
            FileShare.ReadWrite))
        {
            using(StreamReader streamReader = new StreamReader(fileStream))
            {
                this.textBoxLogs.Text = streamReader.ReadToEnd();
            }
        }
    }
    catch(Exception ex)
    {
        MessageBox.Show("Error loading log file: " + ex.Message);
    }
} 

有一篇关于如何执行此操作的非常有用的博文:Read a file that is in use