PyCharm记录输出颜色

dab*_*lak 40 python logging google-app-engine pycharm

我正在使用PyCharm在Mac OS X中开发GAE应用程序.有没有办法在PyCharm的运行控制台中显示颜色?

我已经设置了一个处理器来输出ansi格式的颜色.然后,我添加了处理程序:

LOG = logging.getLogger()
LOG.setLevel(logging.DEBUG)
for handler in LOG.handlers:
    LOG.removeHandler(handler)

LOG.addHandler(ColorHandler())

LOG.info('hello!')
LOG.warning('hello!')
LOG.debug('hello!')
LOG.error('hello!')
Run Code Online (Sandbox Code Playgroud)

但颜色是一样的.

PyCharm运行控制台输出

编辑:

JetBrains 问题跟踪器的响应:将片段的第55行从sys.stderr更改为sys.stdout.stderr流总是用红色着色而stdout不是.

现在颜色正确显示.

met*_*ddy 26

PyCharm本身不支持该功能,但您可以下载Grep Console插件并根据需要设置颜色.

这是一个截图:http: //plugins.jetbrains.com/files/7125/screenshot_14104.png(链接已死)

我希望它有所帮助:)虽然它没有提供完全彩色的控制台,但它迈出了一步.

  • 这个插件很棒!正是我在寻找的东西.我也非常喜欢"过滤掉"选项. (3认同)

pho*_*nix 25

至少从PyCharm 2017.2开始,你可以通过以下方式实现:

运行| 编辑配置... | 配置| 在输出控制台中模拟终端

运行配置

在此输入图像描述

  • 在 pycharm 2020 中不可用 (5认同)
  • 这对我不起作用 - 奇怪吗? (4认同)
  • 我在这个截图中使用了 [`coloredlogs`](https://pypi.python.org/pypi/coloredlogs) 包。 (2认同)
  • 请注意,指示的复选框仅显示您是否在列表视图中选择了"Python".其他运行类型没有此选项. (2认同)

Out*_*rce 7

晚到晚了,但是有这个问题的其他人,这是对我有用的解决方案:

import logging
import sys
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
Run Code Online (Sandbox Code Playgroud)

来自这个答案


sel*_*nin 6

2019 年 9 月:PyCharm 社区 2019.1

PyCharm包括 info/debug 在内的所有日志都涂成红色

结果是:这不是 PyCharm 问题,这是默认logging配置的方式。PyCharm 将写入的所有内容都标记sys.stderr红色StreamHandler()不带参数使用时,默认流为sys.stderr.

要取回非彩色日志,请logging.StreamHandler(stream=sys.stdout)在基本配置中指定如下:

logging.basicConfig(
    level=logging.DEBUG,
    format='[%(levelname)8s]:  %(message)s',
    handlers=[
        logging.FileHandler(f'{os.path.basename(__file__)}.log'),
        logging.StreamHandler(sys.stdout),
    ])
Run Code Online (Sandbox Code Playgroud)

或者更详细:

logging.getLogger().addHandler(logging.StreamHandler(stream=sys.stdout))
Run Code Online (Sandbox Code Playgroud)

这修复了我的红色PyCharm 日志。