拖尾日志很慢

use*_*757 0 python logging pythonanywhere

托管在 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}")
Run Code Online (Sandbox Code Playgroud)

同时在 bash shell 中,我跟踪日志文件: tail -f ma_clipboard.log.

在笔记本内部,我正在处理一个python-telegram-bot,它处理来自外部的用户输入。

我的问题是,当我有意记录某些内容时,甚至在发生未捕获的异常时,日志拖尾不会很快更新。有时我必须等待几分钟。这对于调试来说非常烦人。

我不确定延迟的来源是什么。该logger模块?该tail命令?还有什么?我认为这不是python-telegram-bot我在 Jupyter Notebook 中工作的独有问题,因为去年我在 django 日志文件中遇到了类似的问题。

如何减少日志文件拖尾中的这种延迟?

Fil*_*lip 6

这里是 PythonAnywhere 开发者。我们的基础设施需要一些时间将日志写入文件。恐怕您对此无能为力。

编辑

经过仔细检查,我们注意到问题有所不同,并且可以在您这边解决。tail -f查找文件属性的更改。您的文件是通过nfs访问的,它会缓存文件属性一段时间,从而导致tail -f. 解决方法是立即watch -n 0.1 tail [FILE]显示您对文件的更改。您可以调整 0.1 秒间隔以节省 CPU 时间。