oslo_log.versionutils

用于比较版本字符串的辅助函数。

异常 oslo_log.versionutils.DeprecatedConfig(msg)
oslo_log.versionutils.deprecated(as_of, in_favor_of=None, remove_in=2, what=None)

一个装饰器,用于标记可调用对象为已弃用。

此装饰器在装饰的可调用对象被使用时会记录弃用消息。该消息将包括弃用该可调用对象发布的版本、可能删除的版本以及可选的替换。它还会在 try-except 块中捕获已弃用的异常时记录消息,但不会在捕获该异常的子类时记录消息。

示例

  1. 指定所需的弃用发布版本

>>> @deprecated(as_of=deprecated.ICEHOUSE)
... def a(): pass
  1. 指定替换项

>>> @deprecated(as_of=deprecated.ICEHOUSE, in_favor_of='f()')
... def b(): pass
  1. 指定可能删除功能的发布版本

>>> @deprecated(as_of=deprecated.ICEHOUSE, remove_in=+1)
... def c(): pass
  1. 指定弃用的功能将不会被删除

>>> @deprecated(as_of=deprecated.ICEHOUSE, remove_in=None)
... def d(): pass
  1. 指定替换项,弃用的功能将不会被删除

>>> @deprecated(as_of=deprecated.ICEHOUSE, in_favor_of='f()',
...             remove_in=None)
... def e(): pass

警告

用于检测何时捕获已弃用异常的钩子在 Python 3 下不起作用。如果已弃用的异常被抛出,它们仍然会被记录。

oslo_log.versionutils.deprecation_warning(what, as_of, in_favor_of=None, remove_in=2, logger=<Logger oslo_log.versionutils (WARNING)>)

警告功能的弃用。

参数:
  • what – 正在弃用的事物的名称。

  • as_of – 弃用可调用对象的发布版本。

  • in_favor_of – 可调用对象的替换项(可选)

  • remove_in – 一个整数,指定在删除之前等待多少个发布版本(默认:2)

  • logger – 用于报告的日志对象(可选)。

oslo_log.versionutils.register_options()

注册此库使用的配置选项。

oslo_log.versionutils.report_deprecated_feature(logger, msg, *args, **kwargs)

当使用已弃用的功能时,调用此函数。

如果系统配置为致命弃用,则消息将以“critical”级别记录,并且会引发 DeprecatedConfig

否则,消息将以“warn”级别记录(一次)。

引发:

DeprecatedConfig 如果系统配置为致命弃用。