codecamp

Tornado 日记记录支持

Tornado 使用三个记录器流:

  • tornado.access​:Tornado 的 HTTP 服务器(以及可能在​future​中的其他服务器)的每个请求日志记录
  • tornado.application​:记录应用程序代码中的错误(即回调中未捕获的异常)
  • tornado.general​:通用日志记录,包括来自 Tornado 本身的任何错误或警告。

这些​stream​可以使用标准库的日志模块独立配置。 例如,您可能希望将 ​tornado.access​ 日志发送到单独的文件进行分析。

class tornado.log.LogFormatter(fmt: str = '%(color)s[%(levelname)1.1s %(asctime)s %(module)s:%(lineno)d]%(end_color)s %(message)s', datefmt: str = '%y%m%d %H:%M:%S', style: str = '%', color: bool = True, colors: Dict[int, int] = {10: 4, 20: 2, 30: 3, 40: 1, 50: 5})

Tornado 中使用的日志格式化程序。

该格式化程序的主要特点是:

  • 登录到支持它的终端时显示对应支持的颜色。
  • 每个日志行上的时间戳。
  • 对 str/bytes 编码问题具有抵抗性。

此格式化程序由 ​tornado.options.parse_command_line​ 或 ​tornado.options.parse_config_file​ 自动启用(除非使用 ​--logging=none​)。

不支持 ANSI 颜色代码的 Windows 版本的颜色支持通过使用 ​colorama库启用。 希望使用它的应用程序必须首先通过调用 ​colorama.init​ 来初始化 ​colorama​。

在 4.5 版更改: 添加了对 ​colorama的支持。 将构造函数签名更改为与 ​logging.config.dictConfig​ 兼容。

参数:

color(bool) – 启用颜色支持。

fmt(str) -- 日志消息格式。 它将应用于日志记录的属性字典。 如果启用颜色支持,则 ​%(color)s​ 和 ​%(end_color)s​ 之间的文本将根据级别进行着色。

colors(dict) – 从日志级别到终端颜色代码的颜色映射

datefmt(str) -- 日期时间格式。 用于在 ​prefix_fmt中格式化 ​(asctime)​ 占位符。

在 3.2 版更改: 添加了 ​fmt和 ​datefmt参数。

tornado.log.enable_pretty_logging(options: Any = None, logger: Optional[logging.Logger] = None) → None

按照配置打开格式化的日志记录输出。

这是由 ​tornado.options.parse_command_line​ 和 ​tornado.options.parse_config_file​ 自动调用的。

tornado.log.define_logging_options(options: Any = None) → None

将与日志记录相关的标志添加到选项。

这些选项自动出现在默认选项实例上; 仅当您创建了自己的 ​OptionParser时才需要此方法。

4.2 版中的新功能:此功能在以前的版本中存在,但在 4.2 之前已损坏且未记录。


Tornado 使用 Future 对象
Tornado 命令行解析
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }