2011-06-15 4 views
1

저는 웹 개발 및 DJango에 초보자입니다. 웹에서 tail -f와 같은 라이브 로그 뷰어를 개발하고 싶습니다. 이것은 큰 내부 프로젝트의 일부가 될 것입니다. 누군가가 나에게 이것을 어떻게 시작해야하는지에 대한 아이디어를 줄 수 있습니까?라이브 로그 뷰어 in django

이것이 어떻게 보이는지에 대한 제 아이디어는 두 개의 드롭 다운 목록을 갖는 것입니다. 하나는 디렉토리 용이며 일단 디렉토리를 선택하면 두 번째 디렉토리에 로그 파일이 나열됩니다. 선택한 로그 파일이 탭에서 열리고 실행중인 로그 파일이 표시되어야합니다.

어떻게 장고에서 로그 디렉토리에 액세스 할 수 있습니까? 새 탭에서 파일을 여는 데 DJango에 탭 컨트롤이 있습니까? 닫을 수있는 버튼 탭을 찾고 있지 않다면 어떻게해야합니까? 로그 파일을 읽고 웹 페이지에 표시하는 가장 좋은 방법은 무엇입니까?

감사합니다.

답변

-1

subprocess을 살펴보고 사용자 입력에 대해 지나치게 편집증 적이어야합니다.

+0

아니요, 하위 프로세스로 "tail -f"를 실행하면 안됩니다. 나쁜 생각이야. – Olli

+0

오케이, 왜 그렇게 나쁜 생각입니까? – Ted

+0

확실히 그렇게 할 이유가 없습니다 - 네이티브 파이썬 코드로 꼬리를 쉽게 구현할 수 있습니다. Django 뷰에서 "tail -f"를 실행하고 결과를 반환하는 것은 (아마 아약스로 폴링하여) 효율적이지 않습니다 (새로운 프로세스 포크). 아마도 몇 초마다 한 번씩 로그에서 새 데이터를 읽는 것이 좋습니다 (f = open (filename), f.seek (int (request.GET.get ("lastlocation", 0))). 반환 HttpResponse (... f.read())). 사용자가 브라우저를 닫을 때 "tail -f"를 어떻게 종료할까요? – Olli