紧接着上一篇的分享,继续做日志文件的读取,点击连接即可日志文件初始化https://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<<buffer<<endl;
}
// 更新 lastPosition 到文件末尾,以便下次读取新内容
lastPosition = ftell(fp);
// 等待一段时间再继续检查文件,可以有效解决cpu的问题
this_thread::sleep_for(chrono::milliseconds(100));
}
}
4、在主函数里面调用
XAgent::Get()->Main();
5、测试,开启两个终端,在一个终端运行agent代码,另一个终端用ssh连接服务器,输入密码之后,可以将运行结果同时展示在agent的终端上。
文章来源:https://www.toymoban.com/news/detail-813944.html
完结!!!!文章来源地址https://www.toymoban.com/news/detail-813944.html
到了这里,关于日志审计系统Agent项目创建——读取日志文件(Linux版本)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!