如何启用和访问笔记本和 IPython 内核的调试日志记录

How to enable and access debug logging for notebook and IPython kernel

我正在对 IPython 内核进行一些小的研究,并试图从中获取调试日志并查看它如何与笔记本交互。现在看来我的发行版中提供的文档和示例配置已经完全过时了。

问题

  1. ipython 内核日志文件位于何处?
  2. 如何在 jupyter notebook 和 ipython 内核中启用 DEBUG 级别的日志记录?

我试过的

请在提供官方文档链接之前阅读本节

首先,我使用以下命令为 IPython 和笔记本创建了配置文件:

$ ipython profile create
$ jupyter notebook --generate-config

正如预期的那样,创建了三个文件:

在这些文件中,我发现了类似的评论片段:

 # Set the log level by value or name.
 # c.Application.log_level = 0

我试图在 jupyter 配置中取消注释它。它没有添加更多细节,而是完全禁用了 jupyter 进程的控制台输出。我也试过值 50 它有相同的结果,值 DEBUG 在开始时给了我 Python 错误。

我也在 ipython 的配置中使用了这些值,但我找不到日志文件位置。

在邮件列表命令行选项 --log-level=DEBUG 中被提及,它确实适用于 jupyter。但我真的很想在配置文件中保留此设置,并且也有内核的调试信息。

配置选项 NotebookApp.log_levelIPKernelApp.log_level 也没有任何变化。

您也可以尝试使用 --debug:

选项在没有附加前端的情况下启动 ipython 内核
ipython kernel --debug

您可以通过在 jupyter_notebook_config.py 中设置 c.Session.debug = True 来获取有关内核和前端之间交互的大量信息。

我相信这种功能仍然在愿望清单上:

https://github.com/ipython/ipython/issues/8570

但你可以尝试这样的事情:

jupyter notebook --debug > log.file 2>&1

ipykernel kernel --debug > log.file 2>&1