为 Heat 添加日志翻译提示¶
https://blueprints.launchpad.net/Heat/+spec/log-translation-hints
为了更新 Heat 日志消息,以便利用 oslo 的新特性,即使用不同的翻译域来翻译日志消息。
问题描述¶
当前的 oslo 库支持使用不同的翻译域来翻译日志消息,并且 oslo 希望在 juno 版本结束前,我们的所有代码中都包含这些提示。因此 Heat 应该在整个发布周期内处理这些更改。
提议的变更¶
由于需要更改的文件太多,因此将此 bp 分解为数十个补丁,按照 Heat 目录(需要应用此更改)进行划分。
对于每个目录的文件,我们将所有日志消息更改如下。
将 “LOG.error(_(” 更改为 “LOG.error(_LE”。
将 “LOG.warn(_(” 更改为 “LOG.warn(_LW(“。
将 “LOG.info(_(” 更改为 “LOG.info(_LI(“。
将 “LOG.critical(_(” 更改为 “LOG.critical(_LC(“。
请注意,此规范和相关的蓝图并非旨在解决删除调试消息翻译的问题。
备选方案¶
无
实现¶
负责人¶
- 主要负责人
liusheng<liusheng@huawei.com>
里程碑¶
- 完成目标里程碑
Juno-3
工作项¶
对于每个目录的文件,我们将所有日志消息更改如下。
将 “LOG.error(_(” 更改为 “LOG.error(_LE”。
将 “LOG.warn(_(” 更改为 “LOG.warn(_LW(“。
将 “LOG.info(_(” 更改为 “LOG.info(_LI(“。
将 “LOG.critical(_(” 更改为 “LOG.critical(_LC(“。
我们按照以下顺序处理这些更改
├── contrib #TODO1
├── heat
│ ├── api #TODO2
│ ├── cloudinit #TODO3
│ ├── cmd
│ ├── common #TODO4
│ ├── db #TODO5
│ ├── doc
│ ├── engine #TODO6
│ ├── locale
│ ├── openstack #TODO7
│ ├── rpc #TODO8
│ ├── scaling #TODO9
│ ├── tests #TODO10
添加一个 HACKING 检查规则,以确保日志消息与相对域相关。使用正则表达式检查日志消息是否包含相对的 _L* 函数。
log_translation_domain_info =re.compile(
r"(.)*LOG\.info\(\s*_LI\(('|\")")
log_translation_domain_warning = re.compile(
r"(.)*LOG\.(warn|warning)\(\s*_LW\(('|\")")
log_translation_domain_error = re.compile(
r"(.)*LOG\.error\(\s*_LE\(('|\")")
log_translation_domain_critical = re.compile(
r"(.)*LOG\.critical\(\s*_LC\(('|\")")
依赖项¶
[1]https://blueprints.launchpad.net/oslo/+spec/log-messages-translation-domain-rollout
[2]https://wiki.openstack.org/wiki/LoggingStandards