PythonロガーメッセージをjavascriptポップアップウィンドウにストリーミングするWebサイト用のロガーウィンドウを作成しようとしています。ウィンドウを閉じて再度開くと新しいメッセージが表示されるようになりましたが、N 秒ごとにウィンドウを自動的に更新する (そして dajaxice を呼び出す) JavaScript を書きたいと思います。
私の ajax.py :
@dajaxice_register(method='GET')
def getLogs(request):
fname = "/path/to/LOG_2015-07-08.log"
with open(fname,"r") as f:
lines = f.readlines()
lines = lines[-15:] //
logger.info("Displaying Logs")
return json.dumps({'message':lines})
私のhtml:
<script language="javascript" type="text/javascript">
function popitup(data) {
sessionStorage.setItem("logs",data.message);
newWindow = window.open('/InterfaceApp/LogViewer', 'Log Viewer', 'height=400,width=800,status=yes');
if(newWindow && !newWindow.closed){
newWindow.location.reload(true); //this is my first attempt at a refresh, wasn't quite what I wanted.
newWindow.focus();
}
}
</script>
<div class="container">
<input id="LogMessages" type="button" value="View Log Messages" onclick="Dajaxice.InterfaceApp.getLogs(popitup)"/>
</div>
繰り返しますが、ボタンをクリックするとポップアップ ウィンドウが表示されます。ログ ファイルの最後の 15 行でポップアップ ウィンドウを N 秒ごとに更新する必要があります (ユーザーが Web サイトを移動するたびに、行がログに追加されます)。の dajaxice 関数はajax.py
、ログ ファイルを取得するものであるため、何らかの方法で呼び出しを更新に含める必要があります。
誰でもこれで私を助けることができますか? 私は何日もそれに苦労してきました。
ありがとう!!