diff options
Diffstat (limited to 'cross-project-tests/debuginfo-tests/dexter/dex/utils/Logging.py')
-rw-r--r-- | cross-project-tests/debuginfo-tests/dexter/dex/utils/Logging.py | 44 |
1 files changed, 44 insertions, 0 deletions
diff --git a/cross-project-tests/debuginfo-tests/dexter/dex/utils/Logging.py b/cross-project-tests/debuginfo-tests/dexter/dex/utils/Logging.py new file mode 100644 index 000000000000..11386b476884 --- /dev/null +++ b/cross-project-tests/debuginfo-tests/dexter/dex/utils/Logging.py @@ -0,0 +1,44 @@ +# DExTer : Debugging Experience Tester +# ~~~~~~ ~ ~~ ~ ~~ +# +# Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. +# See https://llvm.org/LICENSE.txt for license information. +# SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception +"""Utility functions for producing command line warnings.""" + +from dex.utils import PrettyOutput + +class Logger(object): + def __init__(self, pretty_output: PrettyOutput): + self.o = pretty_output + self.error_color = self.o.red + self.warning_color = self.o.yellow + self.note_color = self.o.default + self.verbosity = 1 + + def error(self, msg, enable_prefix=True, flag=None): + if self.verbosity < 0: + return + if enable_prefix: + msg = f'error: {msg}' + if flag: + msg = f'{msg} <y>[{flag}]</>' + self.error_color('{}\n'.format(msg), stream=PrettyOutput.stderr) + + def warning(self, msg, enable_prefix=True, flag=None): + if self.verbosity < 1: + return + if enable_prefix: + msg = f'warning: {msg}' + if flag: + msg = f'{msg} <y>[{flag}]</>' + self.warning_color('{}\n'.format(msg), stream=PrettyOutput.stderr) + + def note(self, msg, enable_prefix=True, flag=None): + if self.verbosity < 2: + return + if enable_prefix: + msg = f'note: {msg}' + if flag: + msg = f'{msg} <y>[{flag}]</>' + self.note_color('{}\n'.format(msg), stream=PrettyOutput.stderr) |