Coverage for curator/defaults/logging_defaults.py: 75%
4 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-07-19 08:57 -0600
« prev ^ index » next coverage.py v7.2.7, created at 2023-07-19 08:57 -0600
1"""Define valid schemas for client configuration validation"""
2from six import string_types
3from voluptuous import All, Any, Coerce, Optional, Schema
5# Configuration file: logging
6def config_logging():
7 """
8 Logging schema with defaults:
10 .. code-block:: yaml
12 logging:
13 loglevel: INFO
14 logfile: None
15 logformat: default
16 blacklist: ['elastic_transport', 'urllib3']
18 :returns: A valid :py:class:`~.voluptuous.schema_builder.Schema` of all acceptable values with
19 the default values set.
20 :rtype: :py:class:`~.voluptuous.schema_builder.Schema`
21 """
22 return Schema(
23 {
24 Optional('loglevel', default='INFO'):
25 Any(None, 'NOTSET', 'DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL',
26 All(Coerce(int), Any(0, 10, 20, 30, 40, 50))
27 ),
28 Optional('logfile', default=None): Any(None, *string_types),
29 Optional('logformat', default='default'):
30 Any(None, All(Any(*string_types), Any('default', 'json', 'logstash', 'ecs'))),
31 Optional('blacklist', default=['elastic_transport', 'urllib3']): Any(None, list),
32 }
33 )