2011-06-15 43 views
1

我是web开发和DJango的新手。我想在网络上开发一个实时日志查看器,如tail -f。这将成为一个大型内部项目的一部分。有人可以给我一些想法,我应该如何开始呢?django中的Live日志查看器

我的想法是如何看起来有两个下拉列表。一个用于目录,一旦您选择目录,第二个将列出其中的日志文件。所选日志文件应该在选项卡中打开并显示正在运行的日志文件。

我该如何访问Django中的日志目录? 我们有没有在DJango中的任何标签控件打开新标签中的文件?如果不是,我正在寻找一个可关闭的按钮标签,我应该如何做到这一点?阅读日志文件并在网页上显示它的最佳方式是什么?

谢谢。

回答

-1

看看subprocess并对用户输入非常偏执。

+0

不,您不应该通过在子流程中运行“tail -f”来实现这一点。糟糕,糟糕的主意。 – Olli 2011-10-23 15:43:37

+0

好吧,为什么这是一个坏主意? – Ted 2011-10-23 21:29:47

+0

绝对没有理由这么做 - 您可以使用本机Python代码轻松实现尾部。在Django视图上运行“tail -f”并返回结果(可能通过使用ajax进行轮询)根本没有效率(分叉新进程)。作为一个问题的答案,可能每隔几秒读取一次日志中的新数据会更好(f = open(filename),f.seek(int(request.GET.get(“lastlocation”,0)))返回HttpResponse(... f.read()))。如何在用户关闭浏览器时终止“tail -f”? – Olli 2011-10-24 12:42:58