http://www.ruanyifeng.com/blog/2016/07/yaml.html
https://www.cnblogs.com/yyds/p/6885182.html
前言:
YAML 是专门用来写配置文件的语言,非常简洁和强大。
编写规则:
1、大小写敏感
2、json 中使用 {} 的嵌套表示层级,而 yaml 使用缩进,语法和Python类似
3、缩进时不允许使用Tab键,只允许使用空格
4、多行字符串可以使用|保留换行符,也可以使用>折叠换行。
代码出处 Here
# conf.yml
# 对象
animal: pets
hash: { name: Steve, foo: bar }
{
{ \"animal\": \"pets\" },
{ \"hash\": { \"name\": \"Steve\", \"foo\": \"bar\" } }
}
# 数组
Animal:
- Cat
- Dog
- Goldfish
{ \"Animal\": [ \"Cat\", \"Dog\", \"Goldfish\" ] }
# 正常情况下字符串不用写引号
str: 这是一行字符串
# 字符串内有空格或者特殊字符时需要加引号
str: \'内容: 字符串\'
# ~在yml中表示null
parent: ~
{ \"parent\": null }
# 复合结构
languages:
- Ruby
- Perl
- Python
websites:
YAML: yaml.org
Ruby: ruby-lang.org
Python: python.org
Perl: use.perl.org
# 纯量是最基本的、不可再分的值。以下数据类型都属于 的纯量。
配置logging的yml
logging.config.dictConfig(config)
该函数可以从一个字典对象中获取日志配置信息,config参数就是这个字典对象。关于这个字典对象的内容规则会在下面进行描述。
配置字典说明:
无论是上面提到的配置文件,还是这里的配置字典,它们都要描述出日志配置所需要创建的各种对象以及这些对象之间的关联关系。比如,可以先创建一个名额为“simple”的格式器formatter;然后创建一个名为“console”的处理器handler,并指定该handler输出日志所使用的格式器为\"simple\";然后再创建一个日志器logger,并指定它所使用的处理器为\"console\"。
传递给dictConfig()函数的字典对象只能包含下面这些keys,其中version是必须指定的key,其它key都是可选项
| key名称 | 描述 |
|---|---|
| version | 必选项,其值是一个整数值,表示配置格式的版本,当前唯一可用的值就是1 |
| formatters | 可选项,其值是一个字典对象,该字典对象每个元素的key为要定义的格式器名称,value为格式器的配置信息组成的dict,如format和datefmt |
| filters | 可选项,其值是一个字典对象,该字典对象每个元素的key为要定义的过滤器名称,value为过滤器的配置信息组成的dict,如name |
| handlers | 可选项,其值是一个字典对象,该字典对象每个元素的key为要定义的处理器名称,value为处理器的配置信息组成的dcit,如class、level、formatter和filters,其中class为必选项,其它为可选项;其他配置信息将会传递给class所指定的处理器类的构造函数,如下面的handlers定义示例中的stream、filename、maxBytes和backupCount等 |
| loggers | 可选项,其值是一个字典对象,该字典对象每个元素的key为要定义的日志器名称,value为日志器的配置信息组成的dcit,如level、handlers、filters 和 propagate(yes |
| root | 可选项,这是root logger的配置信息,其值也是一个字典对象。除非在定义其它logger时明确指定propagate值为no,否则root logger定义的handlers都会被作用到其它logger上 |
| incremental | 可选项,默认值为False。该选项的意义在于,如果这里定义的对象已经存在,那么这里对这些对象的定义是否应用到已存在的对象上。值为False表示,已存在的对象将会被重新定义。 |
| disable_existing_loggers | 可选项,默认值为True。该选项用于指定是否禁用已存在的日志器loggers,如果incremental的值为True则该选项将会被忽略 |
继续阅读与本文标签相同的文章
-
选择按钮搭配VBA实现数据小型自动化
2026-05-18栏目: 教程
-
Python高级进阶#011 pyqt5按钮QPushButton应用
2026-05-18栏目: 教程
-
Apache Solr Velocity模版注入远程命令执行漏洞复线
2026-05-18栏目: 教程
-
从订货会的功能变迁看出版业的沧海桑田
2026-05-18栏目: 教程
-
ASP.NET Core on K8S深入学习(9)Secret & Configmap
2026-05-18栏目: 教程
