如何设置Python Tornado相当日志

时间:2016-08-03 09:16:56

标签: python logging tornado

我像龙卷风一样写日志:

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(),它仍然没有颜色。

2 个答案:

答案 0 :(得分:0)

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

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

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

答案 1 :(得分:0)

您可以看到有关颜色格式的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)