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)
但颜色是一样的.

编辑:
JetBrains 问题跟踪器的响应:将片段的第55行从sys.stderr更改为sys.stdout.stderr流总是用红色着色而stdout不是.
现在颜色正确显示.
met*_*ddy 26
PyCharm本身不支持该功能,但您可以下载Grep Console插件并根据需要设置颜色.
这是一个截图:http:
//plugins.jetbrains.com/files/7125/screenshot_14104.png(链接已死)
我希望它有所帮助:)虽然它没有提供完全彩色的控制台,但它迈出了一步.
pho*_*nix 25
至少从PyCharm 2017.2开始,你可以通过以下方式实现:
运行| 编辑配置... | 配置| 在输出控制台中模拟终端
晚到晚了,但是有这个问题的其他人,这是对我有用的解决方案:
import logging
import sys
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
Run Code Online (Sandbox Code Playgroud)
来自这个答案
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 日志。
| 归档时间: |
|
| 查看次数: |
14126 次 |
| 最近记录: |