Skip to content

Commit a716990

Browse files
committed
Centralize logging initialization
1 parent 323507c commit a716990

18 files changed

+26
-43
lines changed

pre_commit/commands/autoupdate.py

Lines changed: 0 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
from __future__ import print_function
22
from __future__ import unicode_literals
33

4-
import logging
5-
64
from aspy.yaml import ordered_dump
75
from aspy.yaml import ordered_load
86

@@ -12,17 +10,13 @@
1210
from pre_commit.clientlib.validate_config import is_local_hooks
1311
from pre_commit.clientlib.validate_config import load_config
1412
from pre_commit.jsonschema_extensions import remove_defaults
15-
from pre_commit.logging_handler import LoggingHandler
1613
from pre_commit.ordereddict import OrderedDict
1714
from pre_commit.repository import Repository
1815
from pre_commit.util import CalledProcessError
1916
from pre_commit.util import cmd_output
2017
from pre_commit.util import cwd
2118

2219

23-
logger = logging.getLogger('pre_commit')
24-
25-
2620
class RepositoryCannotBeUpdatedError(RuntimeError):
2721
pass
2822

@@ -69,10 +63,6 @@ def _update_repository(repo_config, runner):
6963

7064
def autoupdate(runner):
7165
"""Auto-update the pre-commit config to the latest versions of repos."""
72-
# Set up our logging handler
73-
logger.addHandler(LoggingHandler(False))
74-
logger.setLevel(logging.WARNING)
75-
7666
retv = 0
7767
output_configs = []
7868
changed = False

pre_commit/commands/install_uninstall.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,21 +2,15 @@
22
from __future__ import unicode_literals
33

44
import io
5-
import logging
6-
import os
75
import os.path
86
import sys
97

108
from pre_commit import output
11-
from pre_commit.logging_handler import LoggingHandler
129
from pre_commit.util import make_executable
1310
from pre_commit.util import mkdirp
1411
from pre_commit.util import resource_filename
1512

1613

17-
logger = logging.getLogger('pre_commit')
18-
19-
2014
# This is used to identify the hook file we install
2115
PREVIOUS_IDENTIFYING_HASHES = (
2216
'4d9958c90bc262f47553e2c073f14cfe',
@@ -88,9 +82,6 @@ def install(runner, overwrite=False, hooks=False, hook_type='pre-commit'):
8882

8983
# If they requested we install all of the hooks, do so.
9084
if hooks:
91-
# Set up our logging handler
92-
logger.addHandler(LoggingHandler(False))
93-
logger.setLevel(logging.INFO)
9485
for repository in runner.repositories:
9586
repository.require_installed()
9687

pre_commit/commands/run.py

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,6 @@
88
from pre_commit import color
99
from pre_commit import git
1010
from pre_commit import output
11-
from pre_commit.logging_handler import LoggingHandler
1211
from pre_commit.output import get_hook_message
1312
from pre_commit.staged_files_only import staged_files_only
1413
from pre_commit.util import cmd_output
@@ -178,9 +177,6 @@ def _has_unstaged_config(runner):
178177

179178
def run(runner, args, environ=os.environ):
180179
no_stash = args.no_stash or args.all_files or bool(args.files)
181-
# Set up our logging handler
182-
logger.addHandler(LoggingHandler(args.color))
183-
logger.setLevel(logging.INFO)
184180

185181
# Check if we have unresolved merge conflict files and fail fast.
186182
if _has_unmerged_paths(runner):

pre_commit/git.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import functools
44
import logging
5-
import os
65
import os.path
76
import re
87

pre_commit/logging_handler.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
from pre_commit import output
77

88

9+
logger = logging.getLogger('pre_commit')
10+
911
LOG_LEVEL_COLORS = {
1012
'DEBUG': '',
1113
'INFO': '',
@@ -30,3 +32,8 @@ def emit(self, record):
3032
record.getMessage(),
3133
)
3234
)
35+
36+
37+
def add_logging_handler(*args, **kwargs):
38+
logger.addHandler(LoggingHandler(*args, **kwargs))
39+
logger.setLevel(logging.INFO)

pre_commit/main.py

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
from pre_commit.commands.install_uninstall import uninstall
1616
from pre_commit.commands.run import run
1717
from pre_commit.error_handler import error_handler
18+
from pre_commit.logging_handler import add_logging_handler
1819
from pre_commit.runner import Runner
1920

2021

@@ -25,6 +26,14 @@
2526
os.environ.pop('__PYVENV_LAUNCHER__', None)
2627

2728

29+
def _add_color_option(parser):
30+
parser.add_argument(
31+
'--color', default='auto', type=color.use_color,
32+
metavar='{' + ','.join(color.COLOR_CHOICES) + '}',
33+
help='Whether to use color in output. Defaults to `%(default)s`.',
34+
)
35+
36+
2837
def main(argv=None):
2938
argv = argv if argv is not None else sys.argv[1:]
3039
argv = [five.to_text(arg) for arg in argv]
@@ -44,6 +53,7 @@ def main(argv=None):
4453
install_parser = subparsers.add_parser(
4554
'install', help='Install the pre-commit script.',
4655
)
56+
_add_color_option(install_parser)
4757
install_parser.add_argument(
4858
'-f', '--overwrite', action='store_true',
4959
help='Overwrite existing hooks / remove migration mode.',
@@ -63,25 +73,26 @@ def main(argv=None):
6373
uninstall_parser = subparsers.add_parser(
6474
'uninstall', help='Uninstall the pre-commit script.',
6575
)
76+
_add_color_option(uninstall_parser)
6677
uninstall_parser.add_argument(
6778
'-t', '--hook-type', choices=('pre-commit', 'pre-push'),
6879
default='pre-commit',
6980
)
7081

71-
subparsers.add_parser('clean', help='Clean out pre-commit files.')
82+
clean_parser = subparsers.add_parser(
83+
'clean', help='Clean out pre-commit files.',
84+
)
85+
_add_color_option(clean_parser)
7286

73-
subparsers.add_parser(
87+
autoupdate_parser = subparsers.add_parser(
7488
'autoupdate',
7589
help="Auto-update pre-commit config to the latest repos' versions.",
7690
)
91+
_add_color_option(autoupdate_parser)
7792

7893
run_parser = subparsers.add_parser('run', help='Run hooks.')
94+
_add_color_option(run_parser)
7995
run_parser.add_argument('hook', nargs='?', help='A single hook-id to run')
80-
run_parser.add_argument(
81-
'--color', default='auto', type=color.use_color,
82-
metavar='{' + ','.join(color.COLOR_CHOICES) + '}',
83-
help='Whether to use color in output. Defaults to `%(default)s`.',
84-
)
8596
run_parser.add_argument(
8697
'--no-stash', default=False, action='store_true',
8798
help='Use this option to prevent auto stashing of unstaged files.',
@@ -140,6 +151,7 @@ def main(argv=None):
140151
parser.parse_args(['--help'])
141152

142153
with error_handler():
154+
add_logging_handler(args.color)
143155
runner = Runner.create()
144156

145157
if args.command == 'install':

pre_commit/prefixed_command_runner.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from __future__ import unicode_literals
22

3-
import os
43
import os.path
54
import subprocess
65

pre_commit/runner.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
from __future__ import unicode_literals
22

3-
import os
43
import os.path
54

65
from cached_property import cached_property

pre_commit/store.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import contextlib
44
import io
55
import logging
6-
import os
76
import os.path
87
import sqlite3
98
import tempfile

pre_commit/util.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
import contextlib
44
import errno
55
import functools
6-
import os
76
import os.path
87
import shutil
98
import stat

0 commit comments

Comments
 (0)