Changes default logger used by blib2to3 Driver (#732)
... to stop it from spamming the log when black is used as a library in another python application. When used indirectly by black the logger initiated in `driver.py` will emit thousands of debug messages making the debug level of the root logger virtually useless. By getting a named logger instead the verbosity of logging from this module can easily be controlled by setting its log level. Fixes #715
This commit is contained in:
parent
275a85f598
commit
227c2d77b4
@ -11,3 +11,6 @@ Reasons for forking:
|
|||||||
- better ability to debug (better reprs)
|
- better ability to debug (better reprs)
|
||||||
- INDENT and DEDENT don't hold whitespace and comment prefixes
|
- INDENT and DEDENT don't hold whitespace and comment prefixes
|
||||||
- ability to Cythonize
|
- ability to Cythonize
|
||||||
|
|
||||||
|
Change Log:
|
||||||
|
- Changes default logger used by Driver
|
@ -32,7 +32,7 @@ class Driver(object):
|
|||||||
def __init__(self, grammar, convert=None, logger=None):
|
def __init__(self, grammar, convert=None, logger=None):
|
||||||
self.grammar = grammar
|
self.grammar = grammar
|
||||||
if logger is None:
|
if logger is None:
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger(__name__)
|
||||||
self.logger = logger
|
self.logger = logger
|
||||||
self.convert = convert
|
self.convert = convert
|
||||||
|
|
||||||
@ -157,7 +157,7 @@ def load_grammar(gt="Grammar.txt", gp=None,
|
|||||||
save=True, force=False, logger=None):
|
save=True, force=False, logger=None):
|
||||||
"""Load the grammar (maybe from a pickle)."""
|
"""Load the grammar (maybe from a pickle)."""
|
||||||
if logger is None:
|
if logger is None:
|
||||||
logger = logging.getLogger()
|
logger = logging.getLogger(__name__)
|
||||||
gp = _generate_pickle_name(gt) if gp is None else gp
|
gp = _generate_pickle_name(gt) if gp is None else gp
|
||||||
if force or not _newer(gp, gt):
|
if force or not _newer(gp, gt):
|
||||||
logger.info("Generating grammar tables from %s", gt)
|
logger.info("Generating grammar tables from %s", gt)
|
||||||
|
@ -1,5 +1,6 @@
|
|||||||
#!/usr/bin/env python3
|
#!/usr/bin/env python3
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import logging
|
||||||
from concurrent.futures import ThreadPoolExecutor
|
from concurrent.futures import ThreadPoolExecutor
|
||||||
from contextlib import contextmanager, redirect_stderr
|
from contextlib import contextmanager, redirect_stderr
|
||||||
from functools import partial, wraps
|
from functools import partial, wraps
|
||||||
@ -37,7 +38,6 @@
|
|||||||
else:
|
else:
|
||||||
has_blackd_deps = True
|
has_blackd_deps = True
|
||||||
|
|
||||||
|
|
||||||
ff = partial(black.format_file_in_place, mode=black.FileMode(), fast=True)
|
ff = partial(black.format_file_in_place, mode=black.FileMode(), fast=True)
|
||||||
fs = partial(black.format_str, mode=black.FileMode())
|
fs = partial(black.format_str, mode=black.FileMode())
|
||||||
THIS_FILE = Path(__file__)
|
THIS_FILE = Path(__file__)
|
||||||
@ -1356,6 +1356,21 @@ def test_shhh_click(self) -> None:
|
|||||||
except RuntimeError as re:
|
except RuntimeError as re:
|
||||||
self.fail(f"`patch_click()` failed, exception still raised: {re}")
|
self.fail(f"`patch_click()` failed, exception still raised: {re}")
|
||||||
|
|
||||||
|
def test_root_logger_not_used_directly(self) -> None:
|
||||||
|
def fail(*args: Any, **kwargs: Any) -> None:
|
||||||
|
self.fail("Record created with root logger")
|
||||||
|
|
||||||
|
with patch.multiple(
|
||||||
|
logging.root,
|
||||||
|
debug=fail,
|
||||||
|
info=fail,
|
||||||
|
warning=fail,
|
||||||
|
error=fail,
|
||||||
|
critical=fail,
|
||||||
|
log=fail,
|
||||||
|
):
|
||||||
|
ff(THIS_FILE)
|
||||||
|
|
||||||
@unittest.skipUnless(has_blackd_deps, "blackd's dependencies are not installed")
|
@unittest.skipUnless(has_blackd_deps, "blackd's dependencies are not installed")
|
||||||
@async_test
|
@async_test
|
||||||
async def test_blackd_request_needs_formatting(self) -> None:
|
async def test_blackd_request_needs_formatting(self) -> None:
|
||||||
|
Loading…
Reference in New Issue
Block a user