OLD | NEW |
1 # Copyright 2014 The Chromium Authors. All rights reserved. | 1 # Copyright 2014 The Chromium Authors. All rights reserved. |
2 # Use of this source code is governed by a BSD-style license that can be | 2 # Use of this source code is governed by a BSD-style license that can be |
3 # found in the LICENSE file. | 3 # found in the LICENSE file. |
4 | 4 |
5 import contextlib | 5 import contextlib |
6 import logging | 6 import logging |
7 import os | 7 import os |
8 import sys | 8 import sys |
9 | 9 |
10 from pylib import constants | 10 from pylib import constants |
11 | 11 |
12 sys.path.append(os.path.join( | 12 sys.path.append(os.path.join( |
13 constants.DIR_SOURCE_ROOT, 'third_party', 'requests', 'src')) | 13 constants.DIR_SOURCE_ROOT, 'third_party', 'requests', 'src')) |
14 sys.path.append(os.path.join( | 14 sys.path.append(os.path.join( |
15 constants.DIR_SOURCE_ROOT, 'third_party', 'appurify-python', 'src')) | 15 constants.DIR_SOURCE_ROOT, 'third_party', 'appurify-python', 'src')) |
16 handlers_before = list(logging.getLogger().handlers) | 16 handlers_before = list(logging.getLogger().handlers) |
17 | 17 |
18 import appurify.api | 18 import appurify.api # pylint: disable=import-error |
19 import appurify.utils | 19 import appurify.utils # pylint: disable=import-error |
20 | 20 |
21 handlers_after = list(logging.getLogger().handlers) | 21 handlers_after = list(logging.getLogger().handlers) |
22 new_handler = list(set(handlers_after) - set(handlers_before)) | 22 new_handler = list(set(handlers_after) - set(handlers_before)) |
23 while new_handler: | 23 while new_handler: |
24 logging.info("Removing logging handler.") | 24 logging.info("Removing logging handler.") |
25 logging.getLogger().removeHandler(new_handler.pop()) | 25 logging.getLogger().removeHandler(new_handler.pop()) |
26 | 26 |
27 api = appurify.api | 27 api = appurify.api |
28 utils = appurify.utils | 28 utils = appurify.utils |
29 | 29 |
30 # This is not thread safe. If multiple threads are ever supported with appurify | 30 # This is not thread safe. If multiple threads are ever supported with appurify |
31 # this may cause logging messages to go missing. | 31 # this may cause logging messages to go missing. |
32 @contextlib.contextmanager | 32 @contextlib.contextmanager |
33 def SanitizeLogging(verbose_count, level): | 33 def SanitizeLogging(verbose_count, level): |
34 if verbose_count < 2: | 34 if verbose_count < 2: |
35 logging.disable(level) | 35 logging.disable(level) |
36 yield True | 36 yield True |
37 logging.disable(logging.NOTSET) | 37 logging.disable(logging.NOTSET) |
38 else: | 38 else: |
39 yield False | 39 yield False |
40 | 40 |
OLD | NEW |