如何在Django中流式传输文件的最后几行?
问题描述:
为了监控目的,我想将日志文件的最后N行放入Django网站界面。 像显示tail -f filename
命令的结果一样。如何在Django中流式传输文件的最后几行?
基本上我想做一样的supervisord,它允许从它的http接口登录进程。
任何想法如何做到这一点?
答
按照要求由OP,这里是用webtail一个例子:
$ webtail \
--port=8000 \
--files=/var/log/nginx/error.log,/var/log/nginx/access.log \
--logging=warn
当我从评论明白 - 在OP需要支持websocket的解决方案。 Webtails的确如此。如果您在webtail.py文件看:
routes = [(r'/', MainHandler), (r'/tail/', TailHandler),
(r'/signin/', SigninHandler), (r'/signout/', SignoutHandler)]
其中TailHandler
是:
from tornado.websocket import WebSocketHandler
....
class TailHandler(WebSocketHandler):
我使用这个监控大量的日志,它就像一个魅力:)
+0
非常感谢:) – Arnaud 2013-01-14 10:28:40
看看http://pypi.python.org/pypi/webtail/0.1b16 – Tisho 2012-07-06 07:43:23
可能重复[tail -f在webbrowser](http://*.com/questions/2836838/tail-f-in -a-webbrowser) – 2012-07-06 08:10:13
@MartijnPieters,我想抓住尾巴-f,然后显示它,这个问题只回答sec ond问题。 – Arnaud 2012-07-06 08:15:51