javascript - tail -f 在浏览器中

标签 javascript jquery python django console

我创建了一个 Python 脚本,用于监视日志文件的更改(如 tail -f)并将其显示在控制台上。我想在网络浏览器中访问 Python 脚本的输出。我需要什么来创建这个?我在考虑使用 Django 和 jQuery。非常感谢任何提示或示例。

最佳答案

首先创建一个 python 脚本来监视日志文件的更改。如果您只需要它用于调试 - 测试目的,那么使用 Django 或其他 Web 框架就太过分了。使用套接字很容易实现 Http Web 服务器功能。每当 Http GET 请求到来时,只提供与不同请求的不同之处。为了实现这一点,您需要在内存中存储每个请求的状态(例如文件中最后一行的编号)。

jQuery 部分实际上非常简单。使用 setTimeout 函数设置定时器。像这样的事情会做:

function doUpdate() {
  $.ajax({type: "GET", url : tailServiceUrl,
          success: function (data) {
             if (data.length > 4)
             {
                // Data are assumed to be in HTML format
                // Return something like <p/> in case of no updates
                $("#logOutputDiv").append(data);
             }
             setTimeout("doUpdate()", 2000);
           }});
}

setTimeout("doUpdate()", 2000);

您还可以为错误和超时创建回调以报告服务器问题。

关于javascript - tail -f 在浏览器中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2836838/

相关文章:

javascript - JSON 在 n 行中保留一行

javascript - 限制 jQueryUI 拖动到元素,但允许从一个元素移动到另一个元素?

javascript - featherlight ajax 发布请求

python - 使用 python 中的正则表达式从其描述中提取项目的重量

php - 检测空字段 - 问题

javascript - 将Javascript字符串转换为文字数组

javascript - moment.js 现在数据错误

jquery - jsdom和jquery修改dom元素的css样式

python - 从别名模块导入名称。是否可以?

python - '{0 }'.format() is faster than str() and ' {}'.format() 使用 IPython %timeit 否则使用纯 Python