mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-05-07 13:52:54 +00:00
now show full callback stacktrace when vvv+
Still is a warning as we don't want to repeat it multiple times nor additional callbacks to stop ansible execution. hopefully we can avoid shipping w/o exceptions in the default/minimal callbacks... Also added feature that now allows for 'preformated' strings passed to warning
This commit is contained in:
@@ -290,8 +290,13 @@ class TaskQueueManager:
|
|||||||
try:
|
try:
|
||||||
method(*args, **kwargs)
|
method(*args, **kwargs)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
|
import traceback
|
||||||
|
orig_tb = traceback.format_exc()
|
||||||
try:
|
try:
|
||||||
v1_method = method.replace('v2_','')
|
v1_method = method.replace('v2_','')
|
||||||
v1_method(*args, **kwargs)
|
v1_method(*args, **kwargs)
|
||||||
except Exception:
|
except Exception:
|
||||||
display.warning('Error when using %s: %s' % (method, str(e)))
|
if display.verbosity >= 3:
|
||||||
|
display.warning(orig_tb, formatted=True)
|
||||||
|
else:
|
||||||
|
display.warning('Error when using %s: %s' % (method, str(e)))
|
||||||
|
|||||||
@@ -202,10 +202,15 @@ class Display:
|
|||||||
self.display(new_msg.strip(), color=C.COLOR_DEPRECATE, stderr=True)
|
self.display(new_msg.strip(), color=C.COLOR_DEPRECATE, stderr=True)
|
||||||
self._deprecations[new_msg] = 1
|
self._deprecations[new_msg] = 1
|
||||||
|
|
||||||
def warning(self, msg):
|
def warning(self, msg, formatted=False):
|
||||||
new_msg = "\n[WARNING]: %s" % msg
|
|
||||||
wrapped = textwrap.wrap(new_msg, self.columns)
|
if not formatted:
|
||||||
new_msg = "\n".join(wrapped) + "\n"
|
new_msg = "\n[WARNING]: %s" % msg
|
||||||
|
wrapped = textwrap.wrap(new_msg, self.columns)
|
||||||
|
new_msg = "\n".join(wrapped) + "\n"
|
||||||
|
else:
|
||||||
|
new_msg = "\n[WARNING]: \n%s" % msg
|
||||||
|
|
||||||
if new_msg not in self._warns:
|
if new_msg not in self._warns:
|
||||||
self.display(new_msg, color=C.COLOR_WARN, stderr=True)
|
self.display(new_msg, color=C.COLOR_WARN, stderr=True)
|
||||||
self._warns[new_msg] = 1
|
self._warns[new_msg] = 1
|
||||||
|
|||||||
Reference in New Issue
Block a user