加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python – 拖尾日志文件

发布时间:2020-12-20 13:52:47 所属栏目:Python 来源:网络整理
导读:我想在我的网站上添加一个日志查看器选项卡.该选项卡应该打印整个日志文件,然后打印新行(例如 Linux中的tail -F命令).客户端是HTML和 Javascript,服务器端是Python. 这是我的尾部Python函数(我在网上找到它): @cherrypy.exposedef tail(self): filename = '
我想在我的网站上添加一个日志查看器选项卡.该选项卡应该打印整个日志文件,然后打印新行(例如 Linux中的tail -F命令).客户端是HTML和 Javascript,服务器端是Python.

这是我的尾部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的新手,所以我很感激任何帮助.

解决方法

查看pytailer

https://github.com/six8/pytailer

特别是以下命令:

# Follow the file as it grows
for line in tailer.follow(open('/opt/abc/logs/myLogFile.log')):
    print line

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读