我想在我的网站上添加一个日志查看器选项卡。该选项卡应该打印整个日志文件,然后仅打印新行(例如Linux中的tail -F
命令)。客户端使用HTML和Javascript,服务器端使用Python。
这是我找到的tail Python函数(来自网页):
@cherrypy.expose
def tail(self):
filename = '/opt/abc/logs/myLogFile.log'
f = subprocess.Popen(['tail','-F',filename],\
stdout=subprocess.PIPE,stderr=subprocess.PIPE)
p = select.poll()
p.register(f.stdout)
while True:
if p.poll(1):
print f.stdout.readline()
time.sleep(1)
这段代码确实可以打印整个日志文件。但是每次我向文件添加新行时,它总是从开头开始打印文件,而不是打印新行。
有什么建议可以解决吗?我在Python方面很新,所以我会感激任何形式的帮助。