托管在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笔记本中工作,因为去年我有类似的问题拖尾django日志文件。
如何减少日志文件拖尾中的延迟?
这是PythonAnywhere dev。 我们的基础架构需要一些时间才能将日志写入文件。我担心你可能无法做任何关于你的事情。
编辑
仔细检查后,我们注意到问题是不同的,并且可以解决您的问题。 tail -f
查找文件属性的更改。您的文件通过nfs访问,缓存文件属性一段时间导致tail -f
的延迟反应。解决方法是watch -n 0.1 tail [FILE]
,它会立即显示对文件的更改。您可以调整0.1秒间隔以节省CPU时间。