日志审计系统Agent项目创建——读取日志文件(Linux版本)

  紧接着上一篇的分享,继续做日志文件的读取,点击连接即可日志文件初始化icon-default.png?t=N7T8https://blog.csdn.net/wjl990316fddwjl/article/details/135553238

1、将指针移动到文件末尾

     //文件移动到结尾
    fseek(fp, 0, SEEK_END);

2、定义当前指针的位置


 lastPosition = ftell(fp);

3、定义一个函数,循环读取日志 ,每次读取最新日志

   //主循环
    void Main();

3.1、函数内容

void XAgent::Main()
{
    // 读取最新日志
    while (true)
    {
        // 将文件指针移动到上次读取的位置
        fseek(fp, lastPosition, SEEK_SET);

        // 读取新添加的内容
        char buffer[1024];
        while (fgets(buffer, sizeof(buffer), fp) != nullptr)
        {
           cout<

4、在主函数里面调用

 XAgent::Get()->Main();

5、测试,开启两个终端,在一个终端运行agent代码,另一个终端用ssh连接服务器,输入密码之后,可以将运行结果同时展示在agent的终端上。

日志审计系统Agent项目创建——读取日志文件(Linux版本)_第1张图片

完结!!!!

你可能感兴趣的:(mysql,c++,数据库,linux)