tail -f in a webbrowser

后端 未结 3 1365
梦如初夏
梦如初夏 2020-12-10 15:44

I\'ve created a Python script that monitors a logfile for changes (like tail -f) and displays it on a console. I would like to access the output of the Python script in a we

3条回答
  •  旧巷少年郎
    2020-12-10 16:17

    First create a python script that monitors the log file for changes. If you only need this for debugging - testing purposes, then it is an overkill to use Django or another web framework. It is very easy to implement Http Web server functionality using sockets. Whenever an Http GET request is coming, serve only the difference from the different request. In order to achieve this you need to store in memory the status of every request coming (e.g.number of last line in the file).

    The jQuery part is actually quite easy. Set up a timer with setTimeout function. Something like this will do:

    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 

    in case of no updates $("#logOutputDiv").append(data); } setTimeout("doUpdate()", 2000); }}); } setTimeout("doUpdate()", 2000);

    You can also create callbacks for error and timeout to report a problem with the server.

提交回复
热议问题