]> crepu.dev Git - config.git/blob - djavu-asus/emacs/elpy/rpc-venv/lib/python3.11/site-packages/setuptools/logging.py
0653878fc03551eecd8c10a3a251da98c1b46a47
[config.git] / djavu-asus / emacs / elpy / rpc-venv / lib / python3.11 / site-packages / setuptools / logging.py
1 import sys
2 import inspect
3 import logging
4 import distutils.log
5 from . import monkey
6
7
8 def _not_warning(record):
9 return record.levelno < logging.WARNING
10
11
12 def configure():
13 """
14 Configure logging to emit warning and above to stderr
15 and everything else to stdout. This behavior is provided
16 for compatibility with distutils.log but may change in
17 the future.
18 """
19 err_handler = logging.StreamHandler()
20 err_handler.setLevel(logging.WARNING)
21 out_handler = logging.StreamHandler(sys.stdout)
22 out_handler.addFilter(_not_warning)
23 handlers = err_handler, out_handler
24 logging.basicConfig(
25 format="{message}", style='{', handlers=handlers, level=logging.DEBUG)
26 if inspect.ismodule(distutils.dist.log):
27 monkey.patch_func(set_threshold, distutils.log, 'set_threshold')
28 # For some reason `distutils.log` module is getting cached in `distutils.dist`
29 # and then loaded again when patched,
30 # implying: id(distutils.log) != id(distutils.dist.log).
31 # Make sure the same module object is used everywhere:
32 distutils.dist.log = distutils.log
33
34
35 def set_threshold(level):
36 logging.root.setLevel(level*10)
37 return set_threshold.unpatched(level)