tornado 日志

tslam / 2024-01-15 / 原文

一 、几个方法

log.enable_pretty_logging()
log.app_log.setLevel(log.logging.INFO)
log.gen_log.setLevel(log.logging.ERROR)

 

 解释:

log.enable_pretty_logging()  # 改善日志的显示格式,使其更易读和美观的方式显示在控制台上。没有调用该函数,日志仍然会显示在控制台上,但以默认的格式显示

 

log.app_logTornado框架的应用程序日志记录器,可以用于记录应用程序特定的日志消息。

log.gen_logTornado框架的通用日志记录器,用于记录一般的框架级别的日志消息。

 

log.app_log.setLevel(log.logging.INFO)设置应用程序日志记录器的日志级别为INFO,这意味着只有INFO级别及以上的日志消息才会被记录。

log.gen_log.setLevel(log.logging.ERROR)设置通用日志记录器的日志级别为ERROR,这意味着只有ERROR级别及以上的日志消息才会被记录。



二、define_logging_options的函数


from tornado import log

log.define_logging_options()

这段代码定义了一个名为define_logging_options的函数,该函数用于向options实例添加与日志记录相关的标志(flags)。

 

通过调用define_logging_options函数,可以向自定义的.OptionParser实例添加与日志记录相关的选项,以便在命令行中设置和配置日志输出的行为。

需要注意的是,在Tornado 4.2版本之前,这个函数虽然存在,但是有一些问题,因此在官方文档中没有记录和说明。但是从Tornado 4.2版本开始,此函数得到修复并正式纳入文档

 

 

首先,代码检查传入的选项(options)是否为None,如果是None,则导入tornado.options模块并获取默认的选项实例tornado.options.options,赋值给options变量。这是为了确保在没有传递选项实例的情况下,使用Tornado的默认选项实例。

接下来,使用options.define方法定义了以下几个日志记录相关的选项:

  1. logging:设置Python的日志级别。默认值为info。如果设置为noneTornado不会改变日志配置。
  2. log_to_stderr:将日志输出发送到标准错误流(stderr)。默认情况下,如果未设置--log_file_prefix且没有配置其他日志记录,将使用标准错误流。
  3. log_file_prefix:日志文件的路径前缀。注意,如果运行多个Tornado进程,每个进程的log_file_prefix必须不同(例如,包括端口号)。
  4. log_file_max_size:日志文件的最大大小(以字节为单位),在此大小之前进行日志文件切割(rollover)。
  5. log_file_num_backups:保留的日志文件数量。
  6. log_rotate_when:指定定时轮转日志文件的时间间隔类型(例如,每天午夜midnight)。还有其他可选的时间间隔选项。
  7. log_rotate_interval:定时轮转的时间间隔值(以单位时间间隔的数量表示)。
  8. log_rotate_mode:日志文件轮转的模式,可以是size(按大小)或time(按时间)。

最后,使用options.add_parse_callback方法注册了一个解析回调函数enable_pretty_logging。这个回调函数将在解析命令行参数后被调用,用于启用漂亮的日志记录设置。

该代码段的目的是为了提供方便的配置和管理日志记录的选项,并在解析命令行参数后自动应用这些选项的设置