summaryrefslogtreecommitdiff
path: root/cross-project-tests/debuginfo-tests/dexter/dex/utils/Logging.py
diff options
context:
space:
mode:
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.py44
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)