托管在pythonAnywhere上,在jupyter笔记本中工作,我创建了一个记录器
import logging
logging.basicConfig(
format='%(asctime)s - %(name)s - %(levelname)s - %(message)s',
filename="/home/jaa/bot/ma_clipboard.log",
level=logging.INFO)
logger=logging.getLogger(__name__)
logger.info(f"enabled the logger {logger}")
与此同时,在bash shell中,我拖尾了日志文件:
tail -f ma_clipboard.log
。
在笔记本中,我正在使用python-telegram-bot
,它正在处理来自外部的用户输入。
我的问题是,当我有目的地记录某些内容或发生未捕获的异常时,日志尾部更新不会很快。有时我不得不等待几分钟。这对于调试非常烦人。
我不确定延迟的根源是什么。 logger
模块? tail
命令?还有吗我认为它不是python-telegram-bot
所独有的,也不是我在Jupyter Notebook中工作,因为去年我在django日志文件中遇到了类似的问题。
如何减少日志文件尾部的延迟?
答案 0 :(得分:4)
这里是PythonAnywhere开发人员。 我们的基础架构需要一些时间才能将日志写入文件中。恐怕您可能对此无能为力。
修改
仔细检查后,我们发现问题有所不同,可以解决。 tail -f
寻找文件属性的更改。您的文件通过nfs访问,该文件正在缓存文件属性一段时间,导致tail -f
的响应延迟。解决方法是使用watch -n 0.1 tail [FILE]
来立即显示对文件的更改。您可以调整0.1秒间隔以节省CPU时间。