防止在ipython shell中显示调试日志信息

Aru*_*run 6 python ipython scrapy python-3.x

我在virtualenv中使用了刮板外壳。IPython安装在virtualenv内部。当我开始使用scrapy shell时

 scrapy shell 'https://example.com'
Run Code Online (Sandbox Code Playgroud)

并按Tab键获取自动完成建议,它会显示很多调试信息。如何禁用此功能?

In [1]: from scra2018-03-23 10:05:45 [parso.python.diff] DEBUG: diff parser start
2018-03-23 10:05:45 [parso.python.diff] DEBUG: diff parser calculated
2018-03-23 10:05:45 [parso.python.diff] DEBUG: diff: line_lengths old: 1, new: 1
2018-03-23 10:05:45 [parso.python.diff] DEBUG: diff replace old[1:1] new[1:1]
2018-03-23 10:05:45 [parso.python.diff] DEBUG: parse_part from 1 to 1 (to 0 in part parser)
2018-03-23 10:05:45 [parso.python.diff] DEBUG: diff parser end
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

Shu*_*Tee 8

尝试这样做以将日志记录级别设置为WARNING

import logging

logging.getLogger().setLevel(logging.WARNING);
Run Code Online (Sandbox Code Playgroud)

任何级别INFODEBUG不应该再出现的日志消息。您还可以将日志级别设置为logging.ERROR. 然后WARNING消息也不会出现。

祝你好运!


Art*_*kov 6

https://github.com/ipython/ipython/issues/10946看起来像这里报告的错误。

如果您需要在ipython中进行调试日志记录,请尝试 logging.getLogger('parso.cache').disabled=True logging.getLogger('parso.cache.pickle').disabled=True

并等待parso更新

  • 只需将其添加到 ~/.ipython/profile_default/startup/00-first.py (2认同)
  • 对我来说,有效的是“logging.getLogger('parso').setLevel(logging.WARNING)” (2认同)

Gal*_*cio 5

您可以使用-L命令行选项将日志级别更改为INFO

scrapy shell -L INFO https://example.com
Run Code Online (Sandbox Code Playgroud)