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

Che*_*tEx 14 ipython-notebook jupyter

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

问题

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

我试过的

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

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

$ ipython profile create
$ jupyter notebook --generate-config
Run Code Online (Sandbox Code Playgroud)

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

  • .jupyter/jupyter_notebook_config.py
  • .ipython/profile_default/ipython_config.py
  • .ipython/profile_default/ipython_kernel_config.py

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

 # Set the log level by value or name.
 # c.Application.log_level = 0
Run Code Online (Sandbox Code Playgroud)

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

我也在ipython的配置中使用了这些值,但是我无法找到日志文件的位置.

在邮件列表命令行选项--log-level=DEBUG中提到,实际上它适用于jupyter.但我真的想在配置文件中保留此设置并为内核调试信息.

配置选项NotebookApp.log_level,IPKernelApp.log_level也不做任何改变.

lmt*_*mtx 10

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

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

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

jupyter notebook --debug > log.file 2>&1
Run Code Online (Sandbox Code Playgroud)

要么

ipykernel kernel --debug > log.file 2>&1
Run Code Online (Sandbox Code Playgroud)