如何让依赖Python文件的日志输出到Jupyter Notebook日志控制台?
让Jupyter依赖文件的输出显示在日志控制台的方法
方案1:使用logging模块(推荐)
Jupyter的日志控制台会监听Python logging模块的输出,替代print就能实现需求:
- 修改
myfile.py代码:
import logging # 初始化日志配置,设置输出级别为INFO logging.basicConfig(level=logging.INFO) def test(): # 用logging输出替代print logging.info('Hello')
- 在
myNoteBook.ipynb中正常调用:
import myfile myfile.test()
运行单元格后,Hello会出现在View->Show Log Console打开的日志控制台中,而非Notebook单元格输出区。
方案2:重定向print到标准错误流
Jupyter日志控制台默认捕获标准错误流(stderr)的内容,可直接修改print的输出目标:
修改myfile.py:
import sys def test(): # 将print输出定向到stderr print('Hello', file=sys.stderr)
执行Notebook后,输出会被日志控制台捕获。
额外提示
- 若修改
myfile.py后无效果,需重启Jupyter内核并重新导入模块——Python会缓存已加载的模块,不重启不会读取新修改的内容。 logging模块支持多级别日志(DEBUG/WARNING/ERROR等),比print更适合复杂场景的日志管理。
内容的提问来源于stack exchange,提问作者João Pimentel Ferreira
相关产品推荐
相关产品推荐

