mirror of
https://github.com/pre-commit/pre-commit.git
synced 2026-04-15 01:51:46 +04:00
Only configure logging inside the context
This commit is contained in:
parent
bdc58cc33f
commit
e4f0b4c1b7
3 changed files with 14 additions and 8 deletions
|
|
@ -1,5 +1,6 @@
|
||||||
from __future__ import unicode_literals
|
from __future__ import unicode_literals
|
||||||
|
|
||||||
|
import contextlib
|
||||||
import logging
|
import logging
|
||||||
|
|
||||||
from pre_commit import color
|
from pre_commit import color
|
||||||
|
|
@ -34,6 +35,12 @@ class LoggingHandler(logging.Handler):
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def add_logging_handler(*args, **kwargs):
|
@contextlib.contextmanager
|
||||||
logger.addHandler(LoggingHandler(*args, **kwargs))
|
def logging_handler(*args, **kwargs):
|
||||||
|
handler = LoggingHandler(*args, **kwargs)
|
||||||
|
logger.addHandler(handler)
|
||||||
logger.setLevel(logging.INFO)
|
logger.setLevel(logging.INFO)
|
||||||
|
try:
|
||||||
|
yield
|
||||||
|
finally:
|
||||||
|
logger.removeHandler(handler)
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,7 @@ from pre_commit.commands.sample_config import sample_config
|
||||||
from pre_commit.commands.try_repo import try_repo
|
from pre_commit.commands.try_repo import try_repo
|
||||||
from pre_commit.error_handler import error_handler
|
from pre_commit.error_handler import error_handler
|
||||||
from pre_commit.error_handler import FatalError
|
from pre_commit.error_handler import FatalError
|
||||||
from pre_commit.logging_handler import add_logging_handler
|
from pre_commit.logging_handler import logging_handler
|
||||||
from pre_commit.store import Store
|
from pre_commit.store import Store
|
||||||
from pre_commit.util import CalledProcessError
|
from pre_commit.util import CalledProcessError
|
||||||
|
|
||||||
|
|
@ -248,9 +248,7 @@ def main(argv=None):
|
||||||
elif args.command == 'help':
|
elif args.command == 'help':
|
||||||
parser.parse_args(['--help'])
|
parser.parse_args(['--help'])
|
||||||
|
|
||||||
with error_handler():
|
with error_handler(), logging_handler(args.color):
|
||||||
add_logging_handler(args.color)
|
|
||||||
|
|
||||||
_adjust_args_and_chdir(args)
|
_adjust_args_and_chdir(args)
|
||||||
|
|
||||||
store = Store()
|
store = Store()
|
||||||
|
|
|
||||||
|
|
@ -11,7 +11,7 @@ import pytest
|
||||||
import six
|
import six
|
||||||
|
|
||||||
from pre_commit import output
|
from pre_commit import output
|
||||||
from pre_commit.logging_handler import add_logging_handler
|
from pre_commit.logging_handler import logging_handler
|
||||||
from pre_commit.store import Store
|
from pre_commit.store import Store
|
||||||
from pre_commit.util import cmd_output
|
from pre_commit.util import cmd_output
|
||||||
from testing.fixtures import git_dir
|
from testing.fixtures import git_dir
|
||||||
|
|
@ -155,7 +155,8 @@ def dont_write_to_home_directory():
|
||||||
|
|
||||||
@pytest.fixture(autouse=True, scope='session')
|
@pytest.fixture(autouse=True, scope='session')
|
||||||
def configure_logging():
|
def configure_logging():
|
||||||
add_logging_handler(use_color=False)
|
with logging_handler(use_color=False):
|
||||||
|
yield
|
||||||
|
|
||||||
|
|
||||||
@pytest.fixture
|
@pytest.fixture
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue