【问题标题】:How to set Python Tornado pretty log如何设置 Python Tornado 漂亮日志
【发布时间】:2017-08-17 15:46:28
【问题描述】:

我这样写龙卷风的日志:

app_log = logging.getLogger("tornado.application")

并且记录没有颜色的输出:

[W 160803 17:04:32 test:68] warn
[E 160803 17:04:32 test:69] error
[I 160803 17:04:32 test:72] info

即使我打电话给enable_pretty_logging(),它仍然没有颜色。

【问题讨论】:

    标签: python logging tornado


    【解决方案1】:

    当满足两个条件时使用颜色:

    • stderr 是一个 tty(即不重定向到文件或管道)
    • curses 模块认为支持颜色(基于TERM 环境变量)

    如果TERM 未设置,请尝试设置TERM=ansi

    【讨论】:

      【解决方案2】:

      关于颜色格式可以看enable_pretty_logging的源码:

      if (options.log_to_stderr or
      (options.log_to_stderr is None and not logger.handlers)):
      # Set up color if we are in a tty and curses is installed
      channel = logging.StreamHandler()
      channel.setFormatter(LogFormatter())
      logger.addHandler(channel)
      

      如果您的选项满足条件,则日志将是彩色的。或者,无论什么情况,您都可以只添加颜色格式日志处理程序。

      from tornado.log import LogFormatter
      app_log = logging.getLogger("tornado.application")
      channel = logging.StreamHandler()
      channel.setFormatter(LogFormatter())
      app_log.addHandler(channel)
      

      【讨论】:

        猜你喜欢
        • 2019-07-16
        • 2021-11-06
        • 1970-01-01
        • 2018-12-01
        • 2020-05-11
        • 2019-01-02
        • 2014-06-24
        • 1970-01-01
        • 2023-02-11
        相关资源
        最近更新 更多