Mercurial > repos > shellac > sam_consensus_v3
comparison env/lib/python3.9/site-packages/coloredlogs/demo.py @ 0:4f3585e2f14b draft default tip
"planemo upload commit 60cee0fc7c0cda8592644e1aad72851dec82c959"
author | shellac |
---|---|
date | Mon, 22 Mar 2021 18:12:50 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
-1:000000000000 | 0:4f3585e2f14b |
---|---|
1 # Demonstration of the coloredlogs package. | |
2 # | |
3 # Author: Peter Odding <peter@peterodding.com> | |
4 # Last Change: January 14, 2018 | |
5 # URL: https://coloredlogs.readthedocs.io | |
6 | |
7 """A simple demonstration of the `coloredlogs` package.""" | |
8 | |
9 # Standard library modules. | |
10 import os | |
11 import time | |
12 | |
13 # Modules included in our package. | |
14 import coloredlogs | |
15 | |
16 # If my verbose logger is installed, we'll use that for the demo. | |
17 try: | |
18 from verboselogs import VerboseLogger as getLogger | |
19 except ImportError: | |
20 from logging import getLogger | |
21 | |
22 # Initialize a logger for this module. | |
23 logger = getLogger(__name__) | |
24 | |
25 DEMO_DELAY = float(os.environ.get('COLOREDLOGS_DEMO_DELAY', '1')) | |
26 """The number of seconds between each message emitted by :func:`demonstrate_colored_logging()`.""" | |
27 | |
28 | |
29 def demonstrate_colored_logging(): | |
30 """Interactively demonstrate the :mod:`coloredlogs` package.""" | |
31 # Determine the available logging levels and order them by numeric value. | |
32 decorated_levels = [] | |
33 defined_levels = coloredlogs.find_defined_levels() | |
34 normalizer = coloredlogs.NameNormalizer() | |
35 for name, level in defined_levels.items(): | |
36 if name != 'NOTSET': | |
37 item = (level, normalizer.normalize_name(name)) | |
38 if item not in decorated_levels: | |
39 decorated_levels.append(item) | |
40 ordered_levels = sorted(decorated_levels) | |
41 # Initialize colored output to the terminal, default to the most | |
42 # verbose logging level but enable the user the customize it. | |
43 coloredlogs.install(level=os.environ.get('COLOREDLOGS_LOG_LEVEL', ordered_levels[0][1])) | |
44 # Print some examples with different timestamps. | |
45 for level, name in ordered_levels: | |
46 log_method = getattr(logger, name, None) | |
47 if log_method: | |
48 log_method("message with level %s (%i)", name, level) | |
49 time.sleep(DEMO_DELAY) |